补充说明
argocd(Argo CD)是 CNCF 孵化的 GitOps 持续交付工具:应用定义(Kubernetes manifests 或 Helm/Kustomize 渲染结果)存放在 Git 仓库,Argo CD 持续监控仓库,把仓库中的期望状态与集群实际状态对比,自动(或手动)同步到集群。Git 仓库是唯一事实来源,回滚只需改回旧 commit。
Argo CD 由服务端(argocd-server)和命令行客户端(argocd)组成,提供 Web UI、REST API 和 CLI。它以 Application 自定义资源描述应用,支持自动同步、自动 prune(删除集群中多出的资源)、sync 钩子、多集群(通过 cluster 注册)以及 SSO/RBAC。
典型场景:团队用 Git 管理生产环境配置、多集群统一发布、可审计的发布记录。注意:自动同步(--sync-policy automated)默认不会自动 prune,需显式开启;argocd app sync 会直接改变集群状态,建议先在 Web UI 或用 --dry-run 预览差异。
语法
argocd [命令] [选项]
选项
login # 登录 Argo CD 服务端
app create # 创建 Application
app sync # 手动同步应用
app diff # 对比 Git 与集群差异
app get # 查看应用详情
app set # 修改应用配置
cluster add # 注册一个外部集群
version # 显示版本
实例
# 登录 Argo CD 服务端
argocd login argocd.example.com --username admin --password <密码>
# 创建应用:从 Git 仓库同步到 default 命名空间
argocd app create myapp \
--repo https://github.com/me/myapp-gitops \
--path manifests \
--dest-server https://kubernetes.default.svc \
--dest-namespace default
# 查看应用状态
argocd app get myapp
# 对比 Git 期望状态与集群实际状态
argocd app diff myapp
# 手动同步(可选 --dry-run 先预览)
argocd app sync myapp
# 列出所有应用
argocd app list