概述
逐个在界面中手工注册应用会让环境漂移、新增服务依赖点击,且没有单一事实源。App-of-Apps 把注册与应用都置于 Git,根应用通过子应用清单驱动整组环境,新增服务变成一次提交。
关键步骤
- 创建指向子 Application 清单目录的根 Application。
- 子 Application 保留各环境的叠加层。
- 用同步波次与健康检查排列依赖。
- 验证改 Git 即改集群,且删除应用可被清理。
验证
- 新增服务只需一次 Git 提交。
- 各环境可由 Git 复现。
- 依赖按波次部署。
- 被删除的应用按策略清理。
注意事项
- App-of-Apps 集中控制,根中的错误可同时影响所有环境。
- 需要纪律性的仓库布局,才能在应用增多后仍保持可读。
适用范围
本条目围绕「用 App-of-Apps 模式管理环境」给出可复制的步骤、验证方式与常见问题,适合需要按此流程落地的工程团队。执行时请结合自身上下文调整命令与阈值,并在变更前后留存证据,便于后续复核与回滚。
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata: { name: root, namespace: argocd }
spec:
source: { repoURL: https://github.com/acme/envs, path: apps, targetRevision: main }
destination: { server: https://kubernetes.default.svc, namespace: argocd }
syncPolicy: { automated: { prune: true, selfHeal: true } }