2020 年 11 月 19 日,亚马逊、Codefresh、GitHub、微软和 Weaveworks 宣布成立 GitOps 工作组。这将是一个开放的 CNCF 社区项目,由 CNCF 在 GitHub 创建gitops-working-group 组织[1],作为协作和开放治理的初始场所。
GitOps 工作组的目标是为公司和个人提供实施 GitOps 工具和方法的技能、知识和能力,从而简化基础设施和云原生应用程序的操作和管理。
该小组的初始任务将是发布一份明确定义 GitOps 原则和技术方面的 GitOps 宣言。GitOps 宣言将对供应商和实现保持中立,旨在基于共同的原则,而不是个人观点,建立对 GitOps 系统的共同理解。第二个目标是通过澄清技术成果而不是实现它们所需的代码、测试或组织元素来鼓励创新。
越来越多人采用 GitOps
GitOps 工作组的成立是由于亚马逊、Codefresh、GitHub、微软、Weaveworks 以及其他数百家正在采用 GitOps 的全球领先公司的用户加速采用 GitOps 工具和方法。这一点,再加上 CNCF用户社区推荐采用 Flux[2],表明 GitOps 正迅速成为运营现代云原生基础设施和应用程序的首选方法。CNCF 用户社区报告称,采用 GitOps 工具并遵循最佳实践的开发、DevOps 和运营团队在其云原生环境的生产率、稳定性、可靠性和安全性方面都得到了改进。
GitOps 是什么和采用原因
如果你是 GitOps 的新手,它构建和迭代了从 DevOps 和基础设施中提取的思想,作为代码,从Martin Fowler 的全面持续集成概述[3]开始,并提供自由选择工具,根据你的特定用例。
实施 GitOps 的个人、团队和组织都有很多好处,包括:
- 提高了开发人员和操作生产力
- 加强开发人员的体验
- 提高稳定性
- 更高的可靠性
- 一致性和标准化
- 强大的安全保障
GitOps 原则
为了让云原生生态系统的参与者清楚地了解 GitOps 的含义,并进一步实现这些好处,该工作组的创建者定义了 GitOps 实践的五个核心原则。
GitOps 的五大原则如下:
- 声明性配置:通过 GitOps 进程管理的所有资源必须以声明的方式完全表示。
- 版本控制、不可变存储:声明性描述存储在支持不可变、版本控制和版本历史的存储库中。例如 git。
- 自动化交付:声明性描述的交付,从存储库到运行时环境,是完全自动化的。
- 软件代理:协调者维护系统状态并应用声明性配置中描述的资源。
- 闭环:根据版本控制的声明性配置与目标系统的实际状态之间的差异执行操作。
公开的工作小组
GitOps 工作组的创始人正在创建一个中立工作组,以明确定义 GitOps 的原则——引导意义,以更好地实现工具之间的互操作性。有了明确的定义,个人 GitOps 认证项目也将成为可能。
GitOps 工作组今天宣布成立,该组织的创始人正在邀请积极参与快速增长的 GitOps 生态系统的公司和个人加入这个新的社区,并帮助其作为一个标准的成功!
关于 GitOps 宣言
GitOps 工作组的创始人设想创建一个 GitOps 宣言,该宣言将使公司更容易理解 GitOps 的关键原则,同时推动包含这些原则的工具之间的互操作性。
如何参与其中
随着 GitOps 工作组的宣布,创始人希望邀请其他公司加入该工作组,为社区和跨云原生景观的 GitOps 的采用做出贡献。你可以通过以下几种方式参与进来:
- 观察或标记这个仓库,保持更新。
- 参加一个工作组会议(时间表即将到来)。
- 打开一个问题[4],让我们知道你是如何使用 GitOps 的,以及我们应该包括的任何重要考虑因素。
- 在CNCF Slack[5]加入#wg-gitops
我们将在我们的定期工作组会议(时间表即将到来)上审查所有未解决的问题和 PR。
时间轴
GitOps 工作组创始人的目标是:首先,在 2020 年第四季度组建工作组,其次,在 2021 年 3 月底之前建立 GitOps 宣言 V1。如果你有兴趣跟上任何新的发展,请访问跟随这个仓库。
额外信息
在 CNCF App Delivery SIG 作为 OSS 项目记录 GitOps 原则,并支持 WG GitOps。
有关初始细节,请参阅GitOps WG 宪章[6]和定义草案[7]。
参考资料
[1]
gitops-working-group 组织: https://github.com/gitops-working-group
[2]
用户社区推荐采用 Flux: https://radar.cncf.io/2020-06-continuous-delivery
[3]
Martin Fowler 的全面持续集成概述: https://martinfowler.com/articles/continuousIntegration.html
[4]
打开一个问题: https://github.com/gitops-working-group/gitops-working-group/issues/new
[5]
CNCF Slack: https://slack.cncf.io/
[6]
GitOps WG 宪章: https://docs.google.com/document/d/11EZfvB2FFI837nMmArnyv-wizsIJvc-4_xdgfoUXF4o/view
[7]
定义草案: https://docs.google.com/document/d/11EZfvB2FFI837nMmArnyv-wizsIJvc-4_xdgfoUXF4o/view