Tool

介绍

Tool 是指用于生成或处理 Kubernetes 资源 Manifests 的工具。

支持的工具

Argo CD 支持几种不同的 Kubernetes 清单定义方式:

  • Kustomize 应用 Kustomize
  • Helm 图表 Helm
  • 目录:包含 YAML/JSON/Jsonnet 文件的清单,包括 Jsonnet 目录
  • 自定义配置管理插件:任何配置为配置管理插件的自定义工具

开发工作流程

Argo CD 允许直接上传本地 manifests,但这仅用于开发目的。覆盖操作需要具有权限的用户(通常是管理员)才能上传本地 manifests。它支持所有上述的 Kubernetes 部署工具。要上传本地应用程序:

$ argocd app sync APPNAME --local /path/to/dir/

特性对比

特性HelmKustomize目录(纯 YAML)
配置方式模板化(动态生成)声明式(补丁和覆盖)静态 YAML 文件
复用性高(通过 Charts)中(通过基础/覆盖)
多环境支持高(通过 values.yaml)高(通过覆盖)
渐进式交付高(支持复杂逻辑)中(支持简单补丁)
学习成本高(模板语法)低(基于 YAML)
与 Argo CD 集成支持原生支持支持
适用场景复杂应用、多环境、分发多环境、配置复用小型项目、快速原型开发

参考资料

更详细的信息,请参考:Tool