内容提要
本文介绍了如何让Kustomize和Helm一起工作,解决了使用Helm的不满。通过Kustomize直接渲染Helm charts,只需在编译时添加--enable-helm参数。同时介绍了如何在ArgoCD中启用Helm支持。
延伸解读
传统 Helm 部署的痛点
文章指出,以往使用 Helm 部署时,需要拉取整个 Helm charts,修改 values.yaml,提交后再部署,过程相当繁琐。这种流程不仅步骤多,而且容易在修改和提交过程中引入错误,增加了维护成本。
Kustomize 渲染 Helm Charts 的便捷性
Kustomize 支持直接渲染 Helm charts,只需在编译时添加 --enable-helm 参数。以部署 Dragonfly 为例,仅需三个文件:kustomization.yaml、values.yaml 和 argo.yaml。kustomization.yaml 中通过 helmCharts 字段指定 chart 名称、仓库、版本、release 名称、命名空间和 values 文件,简化了部署配置。
在 ArgoCD 中启用 Helm 支持
为了让 ArgoCD 支持 Kustomize 渲染 Helm charts,需要在 argocd-cm ConfigMap 中添加 kustomize.buildOptions: --enable-helm。这样 ArgoCD 就能在同步时自动启用 Helm 渲染,无需额外配置。
版本更新与参数控制
更新 charts 时,只需直接修改 kustomization.yaml 中的 chart 版本号,所有参数均可通过 values.yaml 控制,使用方便。这种方式避免了拉取整个 charts 的麻烦,使版本管理和参数调整更加直观和高效。
Q&A
如何让Kustomize和Helm一起工作?
可以通过在编译时添加--enable-helm参数,让Kustomize直接渲染Helm charts。
使用Helm部署时有哪些繁琐的步骤?
使用Helm时,需要拉取整个Helm charts,修改values.yaml,提交后再部署,过程较为繁琐。
部署Dragonfly项目需要哪些文件?
部署Dragonfly只需三个文件:kustomization.yaml、values.yaml和argo.yaml。
如何在ArgoCD中启用Helm支持?
在argocd-cm ConfigMap中添加kustomize.buildOptions: --enable-helm即可启用Helm支持。
更新Helm charts时需要做什么?
更新charts时,只需直接修改charts的版本,所有参数均可控。
Kustomize与Helm结合的优势是什么?
Kustomize与Helm结合可以简化部署流程,避免繁琐的手动修改和提交步骤。