利用 Kustomize 渲染 Helm Charts 并通过 ArgoCD 部署

利用 Kustomize 渲染 Helm Charts 并通过 ArgoCD 部署

💡 原文英文,约300词,阅读约需1分钟。
📝

内容提要

本文介绍了如何让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结合可以简化部署流程,避免繁琐的手动修改和提交步骤。

➡️

继续阅读