Agent Skills
返回列表
🔒

ArgoCD 应用同步监控器

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/argocd-application-sync-monitor。

技能介绍

它解决什么问题

ArgoCD 把 Kubernetes 的状态收敛到声明式清单里,但当 Application 出现 OutOfSync 时,问题往往不是「没人知道」,而是「知道得太晚」。典型场景:CI 合并后 Application 与目标集群漂移了好几分钟,直到有人打开 ArgoCD UI 才注意到;多个 Application 按 sync wave 分批启动,某一批失败后后续波次连锁卡住;有人手动 kubectl apply,GitOps 边界被打破,而 diff 从来没有人看过。

这个技能把这类信号从「人工巡检 UI」变成可脚本化的监控动作:通过 ArgoCD REST API 和 argocd CLI 采集 Application 的同步状态,而不是等人打开网页。

核心能力

  • OutOfSync 检测:读取 Application 的 sync status,找出哪些应用正处于 OutOfSync,即清单与集群实际状态不一致。
  • 同步波次进度跟踪:按 sync wave 观察各 Application 的同步推进情况,定位「卡在哪一波」。
  • 失败告警:同步操作失败时触发警报,把失败从静默状态变成显式信号。
  • 资源级 Diff 分析:对目标应用调用 argocd app diff,拿到字段级变更细节,而不是只有「OutOfSync」这个布尔结果。

关键步骤

  1. 通过 REST API 或 argocd app list 获取 Application 清单与同步状态。
  2. 过滤出 OutOfSync 或 Degraded 条目,进入下一步排查。
  3. 用 argocd app diff <app> 对比 Git 清单与集群实际资源。
  4. 结合 sync wave 判断失败波次及其对后续 Application 的影响。
  5. 汇总为告警结果,交给通知通道或值班流程。

适用边界与注意点

  • 它只负责观测与诊断,不会自动执行 argocd app sync 或回滚,修复动作仍需人工或 CI 承担。
  • argocd app diff 的输出依赖 CLI 与 API 对目标 Application 的读取权限,凭据需要预先配置好。
  • sync wave 的顺序由 Application 清单中的 syncWaveIndex / syncWave 字段决定,若项目没有规范标注波次,跟踪效果会打折扣。
  • 漂移资源不在 Git 清单中时,diff 结果可能不完整,这种情况需要结合 kubectl 等工具交叉确认。
  • 高频轮询 REST API 会给 ArgoCD API server 增加压力,建议设置合理的检查间隔而不是持续轮询。

使用场景

  • 多个 Application 按 sync wave 部署时,定位卡在哪个波次导致后续应用无法推进
  • CI 合并后 Application 与集群出现 OutOfSync,需要跑 argocd app diff 看清字段级差异
  • 某个同步操作失败后,值班人员要及时收到告警而不是事后巡检才发现
  • 排查 GitOps 边界是否被绕过时,确认有哪些资源实际状态与清单不一致

适合人员

  • 使用 ArgoCD 的 DevOps 工程师,需要在 Application 漂移时拿到明确的 OutOfSync 与 diff 信号
  • 负责多集群发布排障的 SRE,要在 sync wave 卡住或同步失败时定位波次与根因
  • 构建 GitOps 发布流水线的开发者,想把 ArgoCD 同步状态采集接入 CI 与告警流程
  • 维护监控体系的运维人员,需要基于 ArgoCD REST API 定制同步状态检查脚本