适用场景
GitOps 的价值是"环境状态可追溯、可回滚":谁在什么时候改了什么,Git 里全有。前提是权限与分支策略管好,否则变成"用 Git 破坏生产"。
配置步骤(回滚与漂移治理)
# 回滚:恢复 Git 提交并同步
argocd app history order-prod
argocd app rollback order-prod 3
# 漂移检测:
argocd app diff order-prod --local 镜像
关键参数与建议
- 仓库结构:应用清单与集群清单分离,按环境分目录
- 同步策略:手动同步(重要环境)或自动同步(开发环境)
- 差异检测:漂移告警,防止有人手工改动集群
- 回滚:Git revert 即回滚,配合镜像版本可追溯
- 权限:生产分支保护 + 代码评审,禁止直推
容易踩的坑
- 有人手工改集群,下次同步被覆盖(或漂移长期存在)
- 回滚到旧版本但配置未回滚,行为不一致
- 未开启审计,无法知道谁改了
验证与巡检
argocd app get order-prod
- 巡检:漂移告警闭环、回滚演练记录
小结
GitOps 验收:任何一次生产变更都能在 Git 找到对应提交,并且能通过 revert 回滚。做不到就还是"脚本+手工"。
> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。