Kubernetes微服务实战
上QQ阅读APP看书,第一时间看更新

4.4 GitOps

GitOps是一个新的流行词,尽管这个概念并不是一个新事物。它是基础设施即代码(Infrastructure as Code,IaC)的另一种变体,其基本思想是应该对所有代码、配置及其所需的资源进行描述,并将其存储在源代码控制仓库中。每当你对代码仓库进行更改时,CI/CD解决方案都会做出响应并采取正确的措施,甚至可以通过还原到代码仓库中的先前版本来启动回滚。当然,代码仓库不一定必须是Git,但是GitOps听起来比Source Control Ops更好,而且大多数人还是使用Git,所以就有了GitOps。

CircleCI和Argo CD都完全支持并推崇GitOps模型。当对代码进行git push更改时,CircleCI将被触发并开始构建镜像。当对Kubernetes清单进行git push更改时,Argo CD将被触发并将这些更改部署到Kubernetes集群。

现在我们已经了解了什么是GitOps,可以开始为Delinkcious实现流水线的持续集成部分了。我们将使用CircleCI从源代码构建Docker镜像。