摘要:本文介绍了GitOps成功的六个关键实践:声明式期望状态、人类可读的格式、响应迅速的代码审查、版本控制、自动拉取和持续协调。 强调了这些实践对改进软件交付、增强可靠性和简化合规性的重要性。
本文介绍了GitOps成功的六个关键实践:声明式期望状态、人类可读的格式、响应迅速的代码审查、版本控制、自动拉取和持续协调。 强调了这些实践对改进软件交付、增强可靠性和简化合规性的重要性。
译自:6 GitOps Practices That Actually Work
作者:Steve Fenton
GitOps 被誉为软件交付和基础设施管理的一种变革性方法,承诺在组织绩效的多个维度上带来更好的结果。但是,并非所有的 GitOps 实现都是一样的。
来自 GitOps 状态报告 的研究揭示了与几个有意义的结果在统计上相关的六个关键实践,包括改进的软件交付、增强的可靠性、消除配置漂移以及更轻松的合规性和审计。
这些实践构成了成功采用 GitOps 的基础,超越了表面上的实现,从而实现了有意义的业务成果。缺少其中一项或多项实践的组织不太可能获得 GitOps 的好处。
与需要逐步指令的命令式方法不同,声明式配置描述了 你想要达到的最终状态,将“如何”留给自动协调工具。这代表着一种转变,从编写调用一系列 API 和命令来驱动状态的脚本转变为描述状态。
这种从命令式思维到声明式思维的转变 解决了运营中最常见的来源之一:理解一系列更改将如何影响系统状态的心理负担。如果你假设你知道基线状态并有严格的控制来防止漂移,这已经足够困难了,但这些假设通常是不正确的。
声明式期望状态通过提供清晰、可验证的目标来消除这种复杂性。团队可以专注于定义他们希望系统呈现的样子,而不是担心操作的顺序。
版本控制用于变更管理 的强大功能只有在配置文件是人类可读的时才能实现。这种做法可能看起来很明显,但许多组织通过使用二进制格式、编码配置或过于复杂和冗长的标记来模糊含义,从而削弱了其 GitOps 的有效性。
人类可读的格式优先考虑可读性和可理解性,从而更容易进行更改、审查更改或理解目标状态。当文件不是人类可读的时,进行更改会更加困难,代码审查会花费更长的时间,并且没有人能够理解预期的系统状态。当您需要审查审计跟踪或确定哪个更改引入了问题时,您会遇到第二波痛苦。
更容易进行遵循开发者风格工作流程的更改。更快更简单的代码审查。来自版本控制的变更历史和审计跟踪。GitOps 实现中代码审查的速度直接影响其实践的有效性及其持续采用的可能性。缓慢的审查会产生一系列不利影响,从而破坏整个 GitOps 方法。
当审查速度缓慢时,团队自然会批量处理更改,以 减少审查瓶颈的频率。这些较大的批次增加了复杂性,使审查更加困难和耗时,从而使循环永久化。更关键的是,大批量会增加每次部署的风险,并且在出现问题时更难隔离问题。
缓慢的审查也会产生绕过 GitOps 流程的压力。当团队面临紧急问题或时间紧迫时,他们可能会采取直接修改,从而规避版本控制。这些“紧急”更改会破坏审计跟踪并产生配置漂移,从而削弱了采用 GitOps 的好处。
虽然每个人都理解版本控制是 GitOps 的一个基本组成部分,但它的有效性在很大程度上取决于前面的实践。只有当您使用人类可读的声明式文件并快速审查更改时,版本控制才会成为一个 强大的变更管理平台。
选择版本控制作为 GitOps 的基础,允许重用现有的组织实践进行访问控制、备份和灾难恢复。组织通常具有成熟的流程来保护和 管理其源代码 存储库,您可以轻松地将这些相同的保护应用于配置存储库。
对于自动拉取,这两个词同样重要。自动化至关重要,因为您希望使系统保持在期望状态。拉取同样重要,因为 GitOps 从中心协调器推送更改转变为分布式代理集。这使得在添加更多基础设施时更容易扩展,因为您不需要维护一个中心列表。
拉取模型也符合云原生架构模式,在这种模式下,服务应是独立的并且能够抵御外部依赖。这种架构一致性使 GitOps 天然适合现代应用程序平台和容器编排系统,尽管它也被用于 Kubernetes 之外。
持续协调涉及自动检测和纠正与期望状态的偏差。协调循环是 GitOps 的核心,但许多组织尚未实现它。
如果您认真对待消除配置漂移,则必须实施持续协调。即使有了世界上最好的意愿,除非您自动且频繁地将系统恢复到目标状态,否则您防止漂移的机会也很低。
支持这些实践的研究提供了定量证据,证明如果您采用正确的实践,GitOps 可以提供可衡量的业务价值。正在考虑的组织。
GitOps 的成功并非来自完美的初始实施,而是来自在这些研究支持的实践指导下的持续改进。从所有六个实践的基本实现开始的团队比那些完善了一两个实践而没有采用其余实践的团队取得了更好的结果。
自动化是管理 软件系统复杂性 的最佳方法。GitOps 的六个实践为此提供了一个经过验证的模型。
您可以在 GitOps 状态报告 中找到更多关于该研究的信息,完成 快速 GitOps 评估,并按需观看 The New Stack 于 2025 年 7 月 17 日的网络研讨会。
来源:嚣张科技圈