GitOps 是一种实现持续交付的模型,它的核心思想是将应用系统的声明性基础架构和应用程序存放在 Git 的版本控制库中。将 Git 作为交付流水线的核心,每个开发人员都可以提交拉取请求(Pull Request)并使用 Git 来加速和简化 Kubernetes 的应用程序部署和运维任务。通过使用像 Git 这样的简单熟悉工具,开发人员可以更高效地将注意力集中在创建新功能而不是运维相关任务上。通过应用 GitOps ,应用系统的基础架构和应用程序代码可以快速查找来源——基础架构和应用程序代码都存放在 gitlab 、或者 github 等版本控制系统上。这使开发团队可以提高开发和部署速度并提高应用系统可靠性。
gitops和devops相比较,从本质意义上说,是包含和被包含的关系,devops是一种文化,不是一种产品,而gitops是基于git的最佳实践,是一种模型,所以gitops是devops的在git上的最佳实践。下面我们来说说gitops能做到什么。通过gitops可以做到,1、安全的云原生 CI/CD 管道模型2、更快的平均部署时间和平均恢复时间3、稳定且可重现的回滚(例如,根据Git恢复/回滚/ fork)4、与监控和可视化工具相结合,对已经部署的应用进行全方位的监控。