加入收藏 | 设为首页 | 会员中心 | 我要投稿 宜春站长网 (https://www.0795zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 系统 > 正文

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

发布时间:2021-05-30 07:39:09 所属栏目:系统 来源:互联网
导读:英国作家Aldous Huxley曾说:速度是真正的乐趣之源。我认为生活如此,软件领域亦然。随着DevOps以及GitOps之类辅助实践的兴起,软件从架构设计到代码被部署到生

英国作家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检测集群存储库中的更改,并做相应的调整。

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

(编辑:宜春站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读