站长网 系统 带你体验:GitOps工作原理到底是什么

带你体验:GitOps工作原理到底是什么

英国作家Aldous Huxley曾说:速度是真正的乐趣之源。我认为生活如此,软件领域亦然。随着DevOps以及GitOps之类辅助实践的兴起,软件从架构设计到代码被部署到生产环境的速度是越来越快。 实际上,DevOps是通过定义一组实践和文化的转变,来提高我们生成代

英国作家Aldous Huxley曾说:“速度是真正的乐趣之源。”我认为生活如此,软件领域亦然。随着DevOps以及GitOps之类辅助实践的兴起,软件从架构设计到代码被部署到生产环境的速度是越来越快。

实际上,DevOps是通过定义一组实践和文化的转变,来提高我们生成代码的速度,并保证代码的可靠性。DevOps本身只是一个广义术语,不同的组织和团队在其核心原理上开发出了各种具体的实践,其中包括:ChatOps、DevSecOps、AIOps、以及一种称为GitOps的较新的实践。

GitOps的出现和兴起,主要得益于软件开发行业对于Kubernetes的广泛采用。在各类组织向Kubernetes的迈进过程中,开发团队的逐步成长,以及对于扩展集群的管理实践会变得势在必行。因此GitOps旨在将Git和Kubernetes结合在一起,为开发人员提供某种形式的操作模型、以及基于Kubernetes的基础架构和应用程序。可以说,在Kubernetes开发的过程中,GitOps能够在确保“速度”的基础上,实现软件方案的持续交付。

下面,我们来看看GitOps的工作原理,它的启动与运行,以及如何在Kubernetes中配合使用GitOps,以团队的DevOps体验。

工作原理

GitOps秉承了DevOps的核心理念–“构建它并交付它(you built it you ship it)”。它能够让开发人员在自己所选的Git工具中,提出拉式请求,触发Kubernetes集群的部署,从而使得Git成为唯一的来源。

显然,该思想是将基于推式的管道替换为基于拉式的管道,从而使得开发人员能够直接根据其拉式请求执行部署。而一旦开发人员执行合并或打开请求,该基础结构就会在部署过程中触发一系列的事件。GitOps运算符(operator)只要检测到此类变化,就会导致另一个运算符声明的更改,并将其部署到集群之中。例如,您可以使用如下工具栈来实现GitOps:

将Bitbucket作为您的Git VCS(译者注:Version Control System,版本控制系统)工具。

用Docker存储您的各种镜像。

用Amazon S3来存储各种Helm图表。

用AWS Lambda拉取图表,并提交给集群存储库。

用Weaveworks Flux检测集群存储库中的更改,并做相应的调整。

当然,在您的工具栈中,实现此类功能的实际基础架构可能会有所不同,但是其机制却是相似的。

本文来自网络,不代表站长网立场,转载请注明出处:https://www.tzzz.com.cn/html/fuwuqi/xt/2021/0529/7536.html

作者: dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部