用途:指导配置 ArgoCD Application 与 ApplicationSet,实现基于 GitOps 的 Helm Chart 部署,包含同步策略、多环境支持与渐进式交付模式。
主要能力:
- 基础 Application 配置:设置 source(repoURL、targetRevision、path、helm.valueFiles、parameters)、destination、syncPolicy,并添加 finalizer 保证删除干净。
- 多环境 ApplicationSet:使用 list 生成器为 dev/staging/prod 生成应用,统一模板并做环境覆盖;也可用 git 生成器按目录自动发现应用。
- 同步策略分级:生产保守(prune/selfHeal 关闭)、预发渐进(开启)、开发激进(含 Replace=true)。
- 同步波次(sync-wave)控制部署顺序,资源钩子(PreSync/PostSync)执行数据库迁移与冒烟测试。
- Helm values 目录结构建议,以及 App of Apps 模式。
- 监控与排障:argocd app get/list/diff/history/events,Prometheus 指标与告警规则示例。
使用方式:编写 Application/ApplicationSet YAML 后,用 kubectl apply -f application.yaml 或 argocd app create 创建,再执行 argocd app sync myapp;查看状态用 argocd app get myapp,查看差异用 argocd app diff myapp。
适用场景:Kubernetes 上以 Helm 管理多环境部署、需要 GitOps 声明式同步与渐进式发布的团队。
限制:资料未提供具体版本要求、权限配置、密钥管理实现细节及收费信息;示例中的仓库地址、集群地址与镜像标签需替换为实际值。