当前位置 > 首页 > 社会新闻 > 正文

云原生交付加速!容器镜像服务企业版支持 Helm Chart
  • 发布时间:2019-09-09
  • www.mcm-outlet.com
  • Yunqi Community我想分享4天前

    2018年6月,Helm正式加入CNCF孵化项目;根据CNCF的研究,在2018年8月,68%的开发商选择Helm作为他们的应用包装解决方案; 2019年6月,阿里云开放云原生应用中心正式启用,为国内用户提供了大量的本地化Helm图表应用程序。 2019年7月,阿里云云镜像企业版正式开放Helm Charts托管功能,允许企业用户完成私人头盔图表。推,拉和批量管理。

    头盔图,这是什么?

    随着云原生技术的迅速崛起,Kubernetes已成为容器化平台应用的标准,成为云原生领域的一流公民。它通过声明性容器编排和管理系统使软件交付更加标准化。具体来说,Kubernetes提供了一个统一的模式API,用于在YAML格式的文件中定义Kubernetes集群中的资源。这些资源有很多种类型,例如无状态应用程序的部署,有状态应用程序的部署,statefulSets,配置项,ConfigMap等。

    这些YAML格式的资源定义使Kubernetes可以轻松地通过上游和下游系统进行集成,从而完成一系列操作,否则这些操作将需要非标准脚本和手动工作。但这些文件的缺点也很明显。当我们想要创建资源时,我们经常需要编写这样一个YAML文件,这个文件对开发人员来说只有一些阈值。同时,当我们在大型团队上进行协作并迭代这些资源时,我们总是觉得直接修改这样的文件会导致冲突,无法回滚,难以追溯,边界模糊。

    因此,云原生社区还开发了一系列最佳实践来解决这些难点,例如:

    有些人将YAML文件放在Git存储库中,依靠Git的版本管理功能来管理在线体系结构,并使用CI平台自动化从Git存储库到在线环境(称为GitOps)的部署。 GitOps解决了无法对YAML进行版本控制并且无法跟踪更改的问题。

    Kubernetes-sigs/kustomize引入了YAML的通用模块机制,允许不同的YAML相互引用,使得编写更方便,更清晰。

    本文的主角Helm也是提出Chart概念的项目之一。 Chart包装应用程序的所有Kubernetes资源的YAML文件,提供外部文档,配置项,版本等。 Helm本身就是一个命令行工具。我们可以使用Helm向Kubernetes集群提交图表。在集群中运行的控制器(v2中的tiler)将把Chart中的资源部署到Kubernetes集群。

    人们擅长使用已知的方法来理解未知,我们使用下表简要介绍了Helm在Kubernetes世界中的作用。

    从目前的情况来看,Helm已成为应用程序发布社区的事实标准,但仍然可以在生产环境中听到一些反讽的表达,请务必三思而后行:

    Helm的写作过程是反人类的,Golang模板的引入使事情变得更加复杂

    Helm的生命周期管理功能薄弱,无法处理复杂的部署

    在v2版本中引入Tiller会使RBAC无用

    头盔图状态

    根据CNCF去年8月进行的一项调查,68%的人选择了Helm Chart。不仅是第三方提供的开源软件,许多公司还依靠Helm的Run-Time Release管理功能来满足软件版本控制,可追溯性和软件迭代过程中的回滚要求。

    在这些组织中,用户在使用Chart时面临选择图表存储解决方案的挑战。我们做了一些研究,但没有多少选择可以选择。一些用户将Chart直接放入Git存储库以进行版本管理。一些客户使用开源软件构建类似于Docker Hub的Chart存储库来完成Chart托管。其他开源软件实现了Helm插件。您可以将Helm Chart直接推送到OSS,S3等对象存储。

    但是,对于企业客户而言,这些解决方案面临一些缺点。 Git存储库很快,但它的Chart内容版本与Git存储库分支没有关联;使用开源软件构建的Chart存储库是另一个需要维护的应用程序,增加了基础架构的依赖性; Helm Chart直接推送到OSS,缺乏企业级权限管理,管理几乎总是在命令行上完成。

    图像服务企业版头盔图管理功能打开

    图为基于图像服务企业版

    的软件迭代一站式解决方案

    2019年7月,阿里云云镜像企业版正式开放Helm Chart托管功能,提供与集装箱图像几乎相同的体验。从理论上讲,它可以支持无限量的Helm Chart托管,提供99.%的数据可靠性。与同类别的其他开源产品类似,我们进行了深入的转换,并提供了以下企业级功能:

    安全合规性

    作为云服务提供商,首要任务是安全合规性。在社区默认示例中,Chartmuseum使用Basic Auth身份验证,该身份验证通常是固定密码,无法连接到Alibaba Cloud RAM身份验证系统。在转换中,我们将Chartmuseum更改为OAuth 2.0 Bearer Token的身份验证机制,并使用Registry和Docker Engine之间的身份验证链接。同时,Helm客户端插件AliyunContainerService/helm-acr被开发用于自动化身份验证并提高数据安全性和用户体验。

    该图显示了chartmuseum/auth-server-example

    中的OAuth2.0身份验证链接

    RAM认证管理系统

    默认Chartmuseum的UI控制台无法执行一些复杂的操作。我们希望控制台可以允许:

    多个名称空间和图表仓库管理

    不同命名空间的不同子帐户的权限管理

    原生Chartmuseum提供了一个控制租户级别的深度参数:当深度等于0时,它显示为可以堆叠任何Chart版本的平面存储库。当深度等于2时,它会添加组织(组织),而回购(仓库)的概念如下:

    为了使Chartmuseum的级别与我们现有的容器映像保持一致,我们将深度配置为2,将组织映射到我们的命名空间,将存储库映射到我们的存储库,并且存储库是平的,推送任何版本的Chart。基于关系映射的这一部分,我们通过回调转换同步映射Chartmuseum的关系,如下表所示。结合阿里云的RAM身份验证策略,我们可以轻松授权不同的子帐户,不同的命名空间和仓库。

    自定义网络ACL

    与Enterprise Edition中提供的容器镜像服务一致,我们还提供了为Helm Chart托管功能的可访问门户定制网络ACL的功能。您可以指定不同的VPC和Internet IP地址以访问不同的Enterprise Edition实例。

    实践练习

    Container Mirroring Services Enterprise Edition支持v2版本的Chart Secure Hosting,它在Enterprise Instances Overview页面上打开Charts组件,当组件状态更改为running时,您可以开始托管Chart类型存储库。

    图为容器图像服务企业版概述界面

    安装和配置客户端

    从官方

    下载所需的Helm Chart版本

    使用Helm Chart托管功能时,请确保客户端是v2的最新版本,可以通过helm version -c确认,建议用于v2.14.2。

    配置本地仓库映射

    您需要指定一个本地存储库名称,该名称映射到该行上其中一个名称空间下的某个图表存储库。

    推图

    在简单地配置企业实例的访问凭证并打开网络访问控制之后,您可以将图表推送到终端中的图表存储库。

    您可以在Enterprise Console中查看这些版本的大小信息,并轻松管理版本。单击帮助文档以获取更多详细信息。

    图为企业版图表版本列表界面

    的将来

    阿里巴巴云容器镜像服务(ACR)是中国最大的公共云图像服务平台之一,支持数万名开发人员和十亿级图像捕获,以保护开发人员的每个应用程序映像。 Container Image Mirroring企业版(ACR EE)是一个面向企业客户的新型安全托管平台,支持容器映像和Helm Chart多个云原生应用程序资产管理,提供企业版实例独家部署,自定义网络访问控制和P2P等功能 - 比例图像分布。在未来,我们将继续改进和优化Helm Chart托管功能,提供自定义访问域名,服务器端BYOK存储加密和其他企业级功能

    更令人兴奋的

    识别QR码并立即进入免费试用

    如果您认为这篇文章不错,请点击查看!点击这里了解更多!收集报告投诉

    2018年6月,Helm正式加入CNCF孵化项目;根据CNCF的研究,在2018年8月,68%的开发商选择Helm作为他们的应用包装解决方案; 2019年6月,阿里云开放云原生应用中心正式启用,为国内用户提供了大量的本地化Helm图表应用程序。 2019年7月,阿里云云镜像企业版正式开放Helm Charts托管功能,允许企业用户完成私人头盔图表。推,拉和批量管理。

    头盔图,这是什么?

    随着云原生技术的迅速崛起,Kubernetes已成为容器化平台应用的标准,成为云原生领域的一流公民。它通过声明性容器编排和管理系统使软件交付更加标准化。具体来说,Kubernetes提供了一个统一的模式API,用于在YAML格式的文件中定义Kubernetes集群中的资源。这些资源有很多种类型,例如无状态应用程序的部署,有状态应用程序的部署,statefulSets,配置项,ConfigMap等。

    这些YAML格式的资源定义使Kubernetes可以轻松地通过上游和下游系统进行集成,从而完成一系列操作,否则这些操作将需要非标准脚本和手动工作。但这些文件的缺点也很明显。当我们想要创建资源时,我们经常需要编写这样一个YAML文件,这个文件对开发人员来说只有一些阈值。同时,当我们在大型团队上进行协作并迭代这些资源时,我们总是觉得直接修改这样的文件会导致冲突,无法回滚,难以追溯,边界模糊。

    因此,云原生社区还开发了一系列最佳实践来解决这些难点,例如:

    有些人将YAML文件放在Git存储库中,依靠Git的版本管理功能来管理在线体系结构,并使用CI平台自动化从Git存储库到在线环境(称为GitOps)的部署。 GitOps解决了无法对YAML进行版本控制并且无法跟踪更改的问题。

    Kubernetes-sigs/kustomize引入了YAML的通用模块机制,允许不同的YAML相互引用,使得编写更方便,更清晰。

    本文的主角Helm也是提出Chart概念的项目之一。 Chart包装应用程序的所有Kubernetes资源的YAML文件,提供外部文档,配置项,版本等。 Helm本身就是一个命令行工具。我们可以使用Helm向Kubernetes集群提交图表。在集群中运行的控制器(v2中的tiler)将把Chart中的资源部署到Kubernetes集群。

    人们擅长使用已知的方法来理解未知,我们使用下表简要介绍了Helm在Kubernetes世界中的作用。

    从目前的情况来看,Helm已成为应用程序发布社区的事实标准,但仍然可以在生产环境中听到一些反讽的表达,请务必三思而后行:

    Helm的写作过程是反人类的,Golang模板的引入使事情变得更加复杂

    Helm的生命周期管理功能薄弱,无法处理复杂的部署

    在v2版本中引入Tiller会使RBAC无用

    头盔图状态

    根据CNCF去年8月进行的一项调查,68%的人选择了Helm Chart。不仅是第三方提供的开源软件,许多公司还依靠Helm的Run-Time Release管理功能来满足软件版本控制,可追溯性和软件迭代过程中的回滚要求。

    在这些组织中,用户在使用Chart时面临选择图表存储解决方案的挑战。我们做了一些研究,但没有多少选择可以选择。一些用户将Chart直接放入Git存储库以进行版本管理。一些客户使用开源软件构建类似于Docker Hub的Chart存储库来完成Chart托管。其他开源软件实现了Helm插件。您可以将Helm Chart直接推送到OSS,S3等对象存储。

    但是,对于企业客户而言,这些解决方案面临一些缺点。 Git存储库很快,但它的Chart内容版本与Git存储库分支没有关联;使用开源软件构建的Chart存储库是另一个需要维护的应用程序,增加了基础架构的依赖性; Helm Chart直接推送到OSS,缺乏企业级权限管理,管理几乎总是在命令行上完成。

    图像服务企业版头盔图管理功能打开

    图为基于图像服务企业版

    的软件迭代一站式解决方案

    2019年7月,阿里云云镜像企业版正式开放Helm Chart托管功能,提供与集装箱图像几乎相同的体验。从理论上讲,它可以支持无限量的Helm Chart托管,提供99.%的数据可靠性。与同类别的其他开源产品类似,我们进行了深入的转换,并提供了以下企业级功能:

    安全合规性

    作为云服务提供商,首要任务是安全合规性。在社区默认示例中,Chartmuseum使用Basic Auth身份验证,该身份验证通常是固定密码,无法连接到Alibaba Cloud RAM身份验证系统。在转换中,我们将Chartmuseum更改为OAuth 2.0 Bearer Token的身份验证机制,并使用Registry和Docker Engine之间的身份验证链接。同时,Helm客户端插件AliyunContainerService/helm-acr被开发用于自动化身份验证并提高数据安全性和用户体验。

    该图显示了chartmuseum/auth-server-example

    中的OAuth2.0身份验证链接

    RAM认证管理系统

    默认Chartmuseum的UI控制台无法执行一些复杂的操作。我们希望控制台可以允许:

    多个名称空间和图表仓库管理

    不同命名空间的不同子帐户的权限管理

    原生Chartmuseum提供了一个控制租户级别的深度参数:当深度等于0时,它显示为可以堆叠任何Chart版本的平面存储库。当深度等于2时,它会添加组织(组织),而回购(仓库)的概念如下:

    为了使Chartmuseum的级别与我们现有的容器映像保持一致,我们将深度配置为2,将组织映射到我们的命名空间,将存储库映射到我们的存储库,并且存储库是平的,推送任何版本的Chart。基于关系映射的这一部分,我们通过回调转换同步映射Chartmuseum的关系,如下表所示。结合阿里云的RAM身份验证策略,我们可以轻松授权不同的子帐户,不同的命名空间和仓库。

    自定义网络ACL

    与Enterprise Edition中提供的容器镜像服务一致,我们还提供了为Helm Chart托管功能的可访问门户定制网络ACL的功能。您可以指定不同的VPC和Internet IP地址以访问不同的Enterprise Edition实例。

    实践练习

    Container Mirroring Services Enterprise Edition支持v2版本的Chart Secure Hosting,它在Enterprise Instances Overview页面上打开Charts组件,当组件状态更改为running时,您可以开始托管Chart类型存储库。

    图为容器图像服务企业版概述界面

    安装和配置客户端

    从官方

    下载所需的Helm Chart版本

    使用Helm Chart托管功能时,请确保客户端是v2的最新版本,可以通过helm version -c确认,建议用于v2.14.2。

    配置本地仓库映射

    您需要指定一个本地存储库名称,该名称映射到该行上其中一个名称空间下的某个图表存储库。

    推图

    在简单地配置企业实例的访问凭证并打开网络访问控制之后,您可以将图表推送到终端中的图表存储库。

    您可以在Enterprise Console中查看这些版本的大小信息,并轻松管理版本。单击帮助文档以获取更多详细信息。

    图为企业版图表版本列表界面

    的将来

    阿里巴巴云容器镜像服务(ACR)是中国最大的公共云图像服务平台之一,支持数万名开发人员和十亿级图像捕获,以保护开发人员的每个应用程序映像。 Container Image Mirroring企业版(ACR EE)是一个面向企业客户的新型安全托管平台,支持容器映像和Helm Chart多个云原生应用程序资产管理,提供企业版实例独家部署,自定义网络访问控制和P2P等功能 - 比例图像分布。在未来,我们将继续改进和优化Helm Chart托管功能,提供自定义访问域名,服务器端BYOK存储加密和其他企业级功能

    更令人兴奋的

    识别QR码并立即进入免费试用

    如果您认为这篇文章不错,请点击查看!点击这里了解更多!

    http://ios.ouyama.com.cn

    两江信息网 版权所有© www.mcm-outlet.com 技术支持:两江信息网 | 网站地图