# 概述 GitOps 将环境声明存于 Git 并由控制器实现收敛。Argo CD 提供应用级同步与健康检查,支持自动化与自愈,适合大规模集群治理。 # 核心配置(已验证) ```yaml apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: app-web spec: project: default source: repoURL: https://git.example.com/apps.git targetRevision: main path: web destination: server: https://kubernetes.default.svc namespace: web syncPolicy: automated: prune: true selfHeal: true syncOptions: - CreateNamespace=true - ApplyOutOfSyncOnly=true ``` # App-of-Apps 与 Waves - 通过根应用管理多个子应用;使用 `sync-wave` 注解控制顺序(如先 CRD 再 Deployment)。 # 健康检查与门控 - 自定义健康钩子:确保依赖准备就绪; - RBAC 与访问控制:限制项目与命名空间的操作权限; # 验证与回滚 - 使用 `argocd app sync` 与 `argocd app wait` 验证同步与健康; - 通过 Git 回滚版本,Argo CD 自动收敛到目标状态; # 常见误区 - 未开启 `prune` 导致陈旧资源堆积; - 无 `selfHeal` 时漂移无法自动纠正; - 缺少 `CreateNamespace` 导致首次部署失败。 # 结语 以 Git 为唯一事实源,结合自动同步、自愈与有序波次,Argo CD 能实现高可靠的持续交付与环境一致性。

发表评论 取消回复