---
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 sync与argocd app wait验证同步与健康; - 通过 Git 回滚版本,Argo CD 自动收敛到目标状态;
常见误区
- 未开启
prune导致陈旧资源堆积; - 无
selfHeal时漂移无法自动纠正; - 缺少
CreateNamespace导致首次部署失败。
结语
以 Git 为唯一事实源,结合自动同步、自愈与有序波次,Argo CD 能实现高可靠的持续交付与环境一致性。

发表评论 取消回复