GitOps 新一代大型自动化工具(2)

GitOps 新一代大型自动化工具(2)_第1张图片

WeaveWorks 的首席执行官 Alexis Richardson 说,GitOps 是“推送代码,而不是容器”。GitOps 背后的基本思想是可以通过 Git 实现对云原生系统的更改。这意味着版本控制系统(例如 Git)托管所有配置和代码以部署在 Kubernetes 上。它用于自动创建、更新和删除系统资源,例如容器、基础设施、代理...

使用 GitOps,开发人员可以像执行合并请求或拉取请求一样管理他们的操作工作流并在 Kubernetes 上进行部署。虽然以前通过手动操作对 Kubernetes 进行更改,但 GitOps 模式为部署过程带来了自动化。

GitOps 如何工作以及它对你的组织意味着什么

GitOps 确保应用程序或服务的状态可根据 Git 存储库的状态进行重现。一旦拉取请求被批准和合并,它就会修改存储库的状态,这将成为自动重新配置和同步实时应用程序及其基础设施的触发器。

假设你想在 Kubernetes 上创建一个部署。例如,可以使用Helm 图表实现 GitOps 模式:将图表放在服务 Git 存储库的子文件夹中,每次更改时,都可以请求部署新的 Helm 图表。基本上,您通过拉取请求和合并触发部署。

为了监听更改并触发部署,需要所谓的控制器。该控制器将连接到 Git 存储库并在每次需要时同步部署。例如,像 FluxCD 这样的控制器是负责监听更改并将其部署到 Kubernetes 集群的操作员。

GitOps 不仅限于 Helm 图表。对于普通的 Kubernetes 清单、Ksonnet 应用程序、Jsonnet 文件甚至 Terraform 文件以及更广泛的基础设施即代码,它也可以是一种有用的模式。让代理(你的控制器)在定义的位置获取您的更改,可以让您轻松快速地设置持续部署流程。

GitOps 的好处

GitOps 为你的团队提供了显着的好处。

提高生产力和速度

GitOps 允许开发人员使用他们已经使用的工具和他们已经依赖的方法。由于开发人员已经熟悉 Git,他们能够更有效地参与 DevOps 流程。这种通用语言提高了他们的生产力,并避免了与 Ops 团队的无用来回。

更好的可见性和可审计性

GitOps 依靠中央存储库实现更高的可见性、透明度和清晰度。GitOps 通过版本控制系统提供单一事实来源,允许轻松跟踪更改和问题。团队可以轻松查看更改历史记录并确定发生意外行为的位置,这在例如审计的情况下可能会有很大帮助。

更高的安全性和可靠性

GitOps 为你的基础架构带来更高的安全性。Git 具有强大的正确性和安全性保证,并且可以轻松识别作者和来源。这为集群的期望状态创建了一个安全且正确的定义。

如果发生安全漏洞,GitOps 可以重新创建一个独立于受损系统的新系统。

减少恢复时间

由于你在 Git 中拥有单一的事实来源,因此识别和排除集群故障要容易得多。此外,GitOps 允许自动回滚,这意味着您可以简单地恢复任何导致失败的更改。

成本效益

更少的停机时间和更高的生产力意味着更明智地使用 IT 支出并提高效率。你的团队能够更快、更安全地发布功能,同时显着减少停机时间。

你可能感兴趣的:(aws,devops,云计算,容器,git)