You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitOps新手求助:使用ArgoCD时能否保留Helm升级工作流?

关于ArgoCD与Helm共存的解决方案

完全不需要弃用helm upgrade这类Helm命令,ArgoCD本身就原生支持Helm,你可以根据场景选择两种主流的GitOps适配方式:

方式一:生成Helm渲染后的清单提交到Git(你提到的方案)

这是完全可行的,步骤很直接:

  • 用helm template命令渲染Chart为最终的Kubernetes清单:
    helm template my-app ./charts/my-app --values ./values.yaml > manifests/my-app-all.yaml
    
  • 将生成的manifests/目录下的所有YAML文件提交到Git仓库
  • 配置ArgoCD同步这个Git仓库,它会像处理普通YAML清单一样,执行类似kubectl apply的操作完成部署

这种方式的优势:

  • Git仓库中存储的是最终部署到集群的精确清单,所有配置完全可见,排查问题时无需重新渲染Chart
  • 不需要ArgoCD集群访问外部Helm仓库,适合网络隔离的生产环境

劣势:

  • 每次Chart版本更新、values配置变更,都需要手动重新渲染并提交清单,增加了操作步骤
  • 多环境(如dev/test/prod)需要维护多份独立清单,容易出现配置冗余

方式二:让ArgoCD直接管理Helm部署(更高效的GitOps实践)

这是更推荐的方式,无需手动生成清单,把Helm的部署逻辑交给ArgoCD自动化执行:

  • 在Git仓库中仅维护values.yaml配置文件(多环境可以按目录拆分,比如dev/values.yaml、prod/values.yaml)
  • 在ArgoCD中创建应用时,选择「Helm」类型,配置以下信息:
    • Chart来源:可以是公开Helm仓库、私有仓库,甚至Git仓库中的Chart目录
    • Chart名称与版本
    • Git仓库中对应的values.yaml路径
  • ArgoCD会自动完成拉取Chart、渲染清单、执行类似helm upgrade --install的部署操作,后续还会自动同步Git中的values变更

这种方式的优势:

  • 无需手动渲染清单,仅维护values配置和Chart版本,减少重复工作
  • ArgoCD会自动跟踪Chart版本更新,支持自动同步变更,适配CI/CD流程更顺畅
  • 多环境可以通过ArgoCD应用集(ApplicationSet)或Kustomize复用基础配置,降低维护成本

总结

两种方式都能实现Helm与ArgoCD的共存,核心是把Helm的操作纳入GitOps流程:

  • 若追求清单的完全可见性或受限于网络环境,选方式一
  • 若想提升配置管理效率、减少手动操作,优先选方式二

内容的提问来源于stack exchange,提问作者RTC EG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 03:03:18