gitops
最初,我们已经看到过DevOps,DevSecOps和许多其他操作,但如今,新术语“ GitOps”正变得著名。 它的名声达到了这个水平,成为KubeCon的热门话题。
因此,就像每个人一样,我也对此感到好奇,并开始阅读它,然后由于我的公司,我也有机会为我们的一个项目实施它。
![](https://i-blog.csdnimg.cn/blog_migrate/1367df8938d6fa73c04e20aab8a75b82.png)
而且,很多人认为GitOps仅适用于容器及其编排工具。 这是不正确的,因为GitOps是一种哲学方法,是的,我同意GitOps主要用于容器化工作流程,因为它具有很高的敏捷性,但是我们可以在非容器化环境中使用GitOps,也可以使用平面CI-CD工具(例如詹金斯
什么是GitOps?
简而言之,GitOps需要使用Git和Pull / Merge Request来管理软件开发的所有阶段。 开发人员使用Git来管理应用程序源代码,而GitOps使用Git来共享信息并协调诸如基础设施供应,应用程序部署之类的活动。
同样,我们可以说GitOps是一种将Git用作声明性基础结构和应用程序的单一事实来源的方法。
GitOps功能集
GitOps提供了许多功能,我们无法列出所有功能,但是可以突出显示它的一些重要功能。
- 单一的真理来源: -GitOps的第一个也是最重要的原则。 它指出Git永远是正确的。 您只需看一下Git就可以了解整个系统,因为它具有所有要素。
- 一切都作为代码:-它声明一切都应以代码形式保存,无论是应用程序还是应用程序需要的任何其他组件。 在大多数情况下,基础结构也以代码形式定义。 例如:-云虚拟机,Docker容器,Kubernetes部署。
- CI / CD自动化:-这就是神奇之处。 构建,测试和部署将根据存储库中的真实情况自动进行。 根据基础结构和配置作为代码,基础结构创建和应用程序部署将是其中的一部分。
为什么选择GitOps?
使用GitOps的主要好处之一是它的自我修复特性。 由于git是整个系统的真理之源,因此,如果有人无意间修改了系统,它将随时恢复为与git保持同步。
同样,在这种情况下,回滚也很容易。 在大多数情况下,主分支反映了系统的状态。 如果应用程序中存在任何类型的故障,需要将其回滚,则可以简单地通过恢复到先前的git状态来完成。
由于所有操作都是通过请求请求完成的,因此它也解决了审计跟踪和透明度的问题。 如果某些事情不起作用,您可以在一个地方查找,即提交历史记录。
![](https://i-blog.csdnimg.cn/blog_migrate/0f94530ce99a0d27ab5c1de06f7d54cd.png)
结论
由于GitOps变得如此流行,因此开源社区正在开发用于该工具的工具。 随着这些工具的成熟,GitOps的实现将变得更加容易。
现在,我假设您也对GitOps着迷。
很快,我将使用Jenkins在Kubernetes上撰写有关GitOps实现的博客。
感谢您的阅读,非常感谢您提供任何反馈,如果您有任何反馈,请在下面留下您的评论。
欢呼声直到下一次!
翻译自: https://hackernoon.com/why-gitops-is-so-exciting-ca2a3a0y
gitops