DevOps专业术语
GitOps
GitOps · 用 Git 管理一切,包括基础设施
CI/CDIaC
GITO
- 定义
- GitOps是DevOps领域的专业术语。GitOps 将 Git 仓库作为基础设施和应用配置的唯一事实来源。
最后更新:2026-03-18
什么是GitOps?
GitOps 将 Git 仓库作为基础设施和应用配置的唯一事实来源。所有变更通过 Pull Request 提交和审查,自动化工具(ArgoCD、Flux)持续将 Git 中的期望状态同步到集群。
- Git 仓库是唯一事实来源
- 所有变更通过 PR 审查
- ArgoCD 和 Flux 是主流 GitOps 工具
GitOps详解
GitOps 由 Weaveworks 在 2017 年提出,核心理念是:将 Git 作为声明式基础设施和应用的唯一事实来源。GitOps 的工作流是:开发者提交配置变更到 Git → PR 审查和合并 → GitOps 控制器(ArgoCD/Flux)检测到变更 → 自动将集群状态同步到 Git 中定义的期望状态。GitOps 的优势在于:完整的变更审计、一键回滚(git revert)、以及声明式的自愈能力。
GitOps的应用场景
正式定义
以 Git 仓库为唯一事实来源通过声明式配置管理基础设施和应用部署的实践
应用场景
- Kubernetes 集群的声明式管理
- 基础设施变更的审计和回滚
- 多环境的一致性管理
常见误区
- GitOps 不是把所有东西都放 Git,是用 Git 管理声明式配置
- GitOps 不能替代 CI,CI 负责构建和测试,GitOps 负责部署
- GitOps 的学习曲线不低,需要理解声明式和控制器模式
实际案例
📌 ArgoCD 的 GitOps 实践
ArgoCD 持续监控 Git 仓库中的 K8s 配置,当检测到变更时自动同步到集群。如果有人手动修改了集群配置,ArgoCD 会自动将其恢复到 Git 中定义的状态。
GitOps的参考来源
关于GitOps的常见问题
- GitOps 和传统 CI/CD 有什么区别
- GitOps 以 Git 仓库为唯一真实来源,通过 Pull 模式自动同步集群状态,而非 Push 模式直接部署。
- GitOps 常用什么工具
- ArgoCD 和 Flux 是 Kubernetes GitOps 的两大主流工具,都是 CNCF 项目。