GitOps 是开发人员能够使用git创建CI/CD来自动化多云和多容器编排集群的开发和运营。GitOps从devops中演化出一种新的形式,gitops更关注交付流水线为核心的诉求,使每个开发人员像使用git工具一样简化devops繁琐的流程与管理,让开发人员更关注创新交付上不必关注CICD繁琐流程。
gitops优势:
1、安全的云原生CI/CD管道模型
2、加快的平均部署时间和平均恢复时间
3、稳定且可重现的回滚(例如,根据Git恢复/回滚/ fork)
4、与监控和可视化工具相结合,对已经部署的应用进行全方位的监控
gitops缺点就是需要开发人员非常舒徐git使用,如:版本控制、历史追溯、回滚、评审等操作。
gitops在生产实践中要遵循的原则:
1、任何能够被描述的内容都要存储在git中。
2、不直接使用kubctl。
3、调用k8s api时要遵循operator模式。
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、与监控和可视化工具相结合,对已经部署的应用进行全方位的监控。