Helm 是一个用于 Kubernetes 的包管理工具,允许用户定义、安装和升级复杂的 Kubernetes 应用程序。Helm 图表是一个模板化配置包,包含 Kubernetes 资源定义(YAML 文件)。
Argo CD 与 Helm 的集成通过 Web 控制台、Argo CD 仪表板或 CLI,增强了 GitOps 实践,实现声明式的持续交付。示例如下:
OCI Helm Chart 示例:
应用程序的生命周期由 Argo CD 管理,而非 Helm。
当提供多个值源时,优先顺序为:parameters
> valuesObject
> values
> valueFiles
> helm 仓库 values.yaml
。
模板化:Helm 使用 Go 模板引擎(gotpl)动态生成 Kubernetes 资源文件。
包管理:Helm 将应用打包为图表(包括模板、默认值和依赖关系),简化了分发和版本控制。
依赖管理:支持图表之间的依赖关系。
生命周期管理:提供 install
、upgrade
和 rollback
等命令以进行完整的生命周期管理。
复杂应用部署:适用于需要动态生成配置的场景(例如,根据环境变量或用户输入生成资源)。
多环境部署:通过 values.yaml
文件支持特定环境的配置。
应用分发:能够将图表打包进行分发到 Helm 仓库或 OCI 注册表。
更多详细信息,请参考:Helm