云原生交付加速!容器镜像服务企业版支持 Helm Chart( 二 )

因此云原生社区也衍生出了一系列最佳实践解决这些痛点,例如:

一些人将 YAML 文件都放到一个 Git 仓库中,依赖于 Git 的版本管理能力来管理线上架构,借助 CI 平台完成从 Git 仓库到线上环境的自动部署,人们把这称为 GitOps。GitOps 解决了 YAML 无法被版本化、变更无法溯源的问题。kubernetes-sigs/kustomize 引入了 YAML 的公共模块机制,使得不同的 YAML 之间可以彼此引用依赖,使书写更加方便,维护起来更加清晰。本文的主角 Helm 也是其中一个项目,它提出了 Chart 这个概念。一个 Chart 打包了一个应用的所有Kubernetes 资源的 YAML 文件,对外提供文档、配置项、版本等信息。而 Helm 本身则是一个命令行工具,我们可以使用 Helm 提交一个 Chart 到 Kubernetes 集群中,运行在集群中的控制器(v2 中为 tiller)会将 Chart 内的资源分别部署到 Kubernetes 集群中。人们擅长于用已知来理解未知,我们就用下表来简单地介绍 Kubernetes 的世界中 Helm 的角色。

云原生交付加速!容器镜像服务企业版支持 Helm Chart

从现状来看,Helm 已经成为了应用分发界事实上的标准,但仍能听到一些反声音表示在生产环境使用,务必三思而后行:

推荐阅读