GitOps

GitOps 于 2017 年首创,是一种进行 Kubernetes 集群管理和应用交付的方式。GitOps 通过使用 Git 作为声明性基础设施和应用程序的单一事实来源来工作。使用 GitOps,软件代理的使用可以提醒 Git 与集群中运行的内容之间的任何差异,如果存在差异,Kubernetes 协调器会根据情况自动更新或回滚集群。将 Git 置于交付管道的中心,开发人员可以使用熟悉的工具发出拉取请求,以加速和简化 Kubernetes 的应用程序部署和操作任务。

GitOps Workflow

什么是 gitops.png

flux 下的简单示例

使用AWS CodePipeline 用于示例应用程序GitHub存储库。然后,我们将 Kubernetes 清单提交到 GitHub 中另一个存储库 并使用Weave Flux 监控、管理并部署。

将创建 2 个 GitHub 存储库。一个将用于触发 Docker 映像构建的示例应用程序。另一个将用于保存 Weave Flux 部署到集群中的 Kubernetes 清单。请注意,与其他推送到 Kubernetes 的持续部署工具相比,这是一种基于拉取的方法。

img