GitOps是Weaveworks提出的一种持续交付方式。其工作原理,是利用Git作为声明基础设施与应用程序的单一事实来源。
本文我们将通过一个简单的项目,了解如何设置典型的CI/CD流水线,而后通过修改将GitOps添加到其中。同时,我们还将演示Flux——GitOps的核心组件。几周之前,Flux已经被CNCF正式接纳为沙箱培养项目。
我们要做什么
下面,我们先来看看整个流程中的具体操作步骤:
对GitOps进行简单介绍
设置一个简单的项目,并在GitLab之内进行管理
集成一个Kubernetes集群
设置一条典型的CI/CD流水线
利用GItOps处理其中的CD部分
什么是GitOps?
GitOps是一种持续交付实现方式。其将Git作为声明基础设施与应用程序的事实来源。当对Git进行变更时,自动交付流水线也会对您的基础设施进行相应变更。
将变更部署至集群:push与pull
在一条典型的CI/CD流水线当中,CI工具负责运行测试、构建镜像、检查CVE并将新镜像重新部署至集群当中,具体如下图所示。