Kubernetes允许我们单纯地运用声明性的配置文件来管理我们的运用部署和其他基础设备组件(例如,我们如今都是YAML开发者)。这使我们可以把一切这些文件放到Git仓库中,然后把它挂到流水线上(Jenkins、GitLab等),流水线会把这些变化运用到集群上,然后就有了GitOps。
为了使任务正常停止,我们必须确保改动集群的独一办法是在Git仓库上提交。GitOps并不是专门针对Kubernetes的,异样的原理也可以运用于任何其他声明式配置管理的环境。
可以说,很多企业曾经末尾采用GitOps了,但如今是业界末尾充沛看法到其潜力的时分。所以,让我们深化了解一下它如此出色的缘由吧!
1、存储环境变更历史记载
只要经过更新相应Git仓库中的配置,才能改动运用环境。这将创立一个残缺的形状变化的历史记载,包括谁做了更改和为什么更改的记载。你可以经过正在运用的Git用户界面来读取历史记载。
2、轻松回滚到之前的形状
一旦我们一切的变更都被存储为Git历史记载,就可以很容易地将一个环境回滚到之前的任何形状。经过恢复一些commit,我们可以回到以前的任务形状。
3、保障部署安全
一旦对集群的一切更改都经过GitOps repo,用户和继续集成(CI)流程就不需求再拜访集群了。这大大降低了攻击面,尤其是还可以增加对Kubernetes API的网络拜访。
部署进程无论如何完成,都可以在集群外部运转,并从Git中拉取配置。其对API的拜访运用基于角色的拜访控制(RBAC)停止限制。这极大地提高了集群的安全性,避免任何恶意的远程更改在API效劳器上。
4、轻量化审批顺序
在修正消费环境时,开发人员总是不受信任。因此在许多公司中都树立了四眼审批流程(four-eyes approval processes),不论是出于什么缘由树立的审批流程,GitOps都提供了一个复杂的办法来完成它们。
详细完成方式取决于你运用的Git效劳器,但重点是给开发人员在Git repo上创立拉取央求的权益,同时给另一组人审查和兼并的权益。大少数Git效劳器都有一个很好的UI来反省修正和同意拉取央求——所以这个处置方案不只便宜,而且对用户也相当友好。
5、模块化架构
GitOps有3个部分:Git repo、部署流程以及一个在Git repo中自动更新版本的进程。这三者可以相互独立演化或交流。
一边是一个组件在Git repo写入,另一边是一个组件在读取。Git repo的结构成为这些组件之间的桥梁。由于这是一个相当松懈的耦合,两边可以用不同的方式甚至不同的技术栈来完成。
6、独立于工具的架构
第5点中提到的模块化可以看出GitOps架构是一个可以灵敏组装最佳工具的架构。当然,任何盛行的Git效劳器都可以完成Git部分的任务,FluxCD或ArgoCD可以担任将repo同步到集群。JenkinsX是一个处置这个进程一切部分的工具,包括创立Git repos,并在构建新的Docker镜像时用新版本更新它们。
7、复用现有知识
将 Git 置于部署流程的中心,可以充沛应用大少数开发人员和运维人员曾经掌握的 Git 知识。不需求新的工具来阅读部署历史或实施审批流程。一切的流程都是用大家都熟习的工具来完成的。
8、比较不同的环境
当你有一个从开发到用户接受度测试(UAT)再到消费的环境链时,跟踪这些环境之间的差异是一件很费事的事情。多亏了存储在Git repos中的声明式配置,它使得处置环境间差异就像比较一组YAML文件一样复杂。
我们有十分棒的工具来做这件事,所以这将不再是一个成绩。更重要的是,从头末尾创立一个新的环境,就像复制和粘贴这些文件到一个新的repo中一样复杂。
9、开箱即用的备份
由于你的环境形状存储在Git中,假设Kubernetes上的etcd发作了什么事情,你也永远不会丧失数据。由于它是你集群形状的自然备份。
10、像运用顺序代码一样测试你的更改
你可以用测试运用顺序代码的方式来测试环境中能够出现的破坏性变化。将更改放在一个分支上,然后在其上运转 CI 流水线。你的 CI 工具将可以运转测试,并依据测试结果将 Git 中的 pull-request 形状设置为绿色或白色。一旦一切的东西都经过测试和审查,你就可以兼并到master。
这听起来十分复杂,但自动化测试是基础设备管理中常常被无视的义务。虽然GitOps并没有让它变得更容易,但至少它为你提供了与你在其他中央运用的相反的熟习任务流程。
11、高可用部署基础设备
部署基础设备保持分歧很重要。Git repo效劳器通常曾经以复制、高可用的方式停止了设置。源代码是一切开发人员在大少数时间都需求拜访的东西,所以运用Git作为部署的源码并不会给Git本身添加额外的担负。
【编辑引荐】
Gartner 首份 IaaS+PaaS 魔力象限:AWS、谷歌、微软指导者;阿里、甲骨文、IBM跟随者
IDC:第二季度全球效劳器市场同比增长19.8% 亚太地域表现抢眼
全国多地规划后,腾讯WeCity2.0要聚焦经济社会片面数字化
专家表示混合云复杂性以及急于采用会带来安全风险
浸透测试评价风险的简明指南Part 1
(责任编辑:admin)