---

title: Argo CD与GitOps持续交付实践

keywords:

  • GitOps
  • Argo CD
  • Sync Policy
  • App of Apps
  • Health Check
  • 自动化
  • 自愈
  • Prune
  • Waves
  • RBAC

description: 以 Argo CD 实现 GitOps 持续交付,覆盖自动同步、自愈与 Prune、App-of-Apps 模式与健康检查,附验证方法。

date: 2025-11-25

categories:

  • 文章资讯
  • 技术教程

---

概述

GitOps 将环境声明存于 Git 并由控制器实现收敛。Argo CD 提供应用级同步与健康检查,支持自动化与自愈,适合大规模集群治理。

核心配置(已验证)

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 syncargocd app wait 验证同步与健康;
  • 通过 Git 回滚版本,Argo CD 自动收敛到目标状态;

常见误区

  • 未开启 prune 导致陈旧资源堆积;
  • selfHeal 时漂移无法自动纠正;
  • 缺少 CreateNamespace 导致首次部署失败。

结语

以 Git 为唯一事实源,结合自动同步、自愈与有序波次,Argo CD 能实现高可靠的持续交付与环境一致性。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部