找回密码
 立即注册
科技快报网 首页 科技快报 IT资讯 查看内容
透过一扇门,读懂一座城,门,对安义人,是闯荡、是事业,是回家的路权威认证加持,中国科技品牌绿联推进充电宝体验与品质升级千问第二波免单恰逢情人节 县城钟点房帮订量暴增约300%阿里投入超30亿没白花!千问总裁:效果远超预期 后期上线新功能2026央视春晚:菁彩Vivid视听技术护航,让全球华人共赏沉浸式中国年2.25~2.27,铝创未来看安义!门窗人的盛宴,邀您相聚鸿蒙版支付宝解锁新春新玩法!碰一下分享福卡,年味直接拉满反向春运不凑活!海信百吋承包三代人的快乐QQ新功能脑洞秀上线元宝,支持用Q版虚拟形象创作AI视频京东与海信签署战略合作协议 冲击三年1000亿销售目标梧桐科技与腾讯音乐共建行业首个座舱AI“声学创新实验室”安义铝博会,还能这么玩?我们用AI,把门窗界的“时空宇宙”搬到了现场大麦“麦宝”智能体升级,鸿蒙6用户通过小艺即可体验“一句话订电影票”华为乾崑智驾ADS V4.1正式推送中!全方位助力岚图汽车焕新升级春节拍照废片三连?鸿蒙版醒图这波更新,专治各种“不忍删”数智驱动奶业革新 潘刚引领伊利打造全链智能智造标杆极萌美容仪好用吗?从研发到体验,看懂它的核心优势中东皇室背书与全球高端圈层认可,AURORA手机正式落子全球高奢赛道额外优惠400元春节还不打烊 京东入手iPhone Air性价比完胜鸿蒙用户抢先体验!同花顺上线「诊大盘」功能,情绪拐点一眼看透

极狐GitLab|云原生时代,关于GitOps你知道多少?

2021-08-27 19:05:24 来自: 厂商新闻

GitOps这个词出现于2017年,是由Weaveworks公司根据多年云计算基础设施和应用程序管理经验而提出的一个概念。可以看出GitOps是非常年轻的,它的出现与云计算的大力推进有关,或者也可以直接点说,与云原生有关。

云原生是近几年最火爆的技术热词之一,几乎所有的云计算产品都会或多或少跟云原生发生关联关于云原生,现在有一个大家都接受的定义:云原生技术使企业能够在现代动态环境中构建和运行可扩展的应用程序,如公有云、私有云和混合云。容器、服务网格、微服务、不可变的基础设施和声明式API是云原生的典型技术。其中,云原生应用程序的部署是重点,因为它与GitOps密切相关。

一般情况下我们可以使用下面的持续交付系统(示意图)来完成云原生应用程序的部署与交付。

上述模式属于“push”模式,这是一种很常用的模式,很容易实现一键式部署。但是也存在一些问题,就是没法保证仓库清单(包括配置仓库和镜像仓库)和集群侧的实际情况相一致,集群侧的实际情况没法准确地在集群侧体现出来。长此以往,很容易发生“配置漂移”及安全合规问题。而想要解决这个问题,我们可以借助GitOps来实现。

关于GitOps有这么几个特性:以声明式系统(包括基础设施和应用程序)为基座(典型如Kubernetes);以Git(典型如极狐GitLab)为单一可信源;一切皆代码(应用程序 & 基础设施)。所以使用GitOps后,上述的“push”模型就变为了下面的“pull”模型:

“Pull”模型的关键就是:单一可信源(如极狐GitLab)与Kubernetes集群的集成,当可信源侧的文件清单发生变更的时候,集群侧能够及时捕捉到此变更,从而完成变更清单的部署。而极狐GitLab Kubernetes  Agent正是为了解决这个问题而诞生的。极狐GitLab Kubernetes Agent 有两部分组成:位于集群侧的极狐GitLab Kubernetes Agent(agentk)和位于极狐GitLab侧的极狐GitLab Kubernetes Agent Server(GitLab-KAS),能够很好的完成上述的GitOps Workflow。

而想要实现GitOps的实践,则需要基础设施即代码(Infrastructure as Code,简称 IaC)、Merge Request(MRs)、CI/CD三叉戟的组合拳。

基础设施即代码(IaC)

基础设施即代码是一种基于使用软件开发实践来进行基础设施自动化管理的方法。它强调通过一致的、可重复的程序来对基础设施系统进行修改。当需要对基础设施进行修改时,只需要修改于基础设施相关的代码即可,随后会有自动化来测试这些变更并最终将这些变更应用到基础设施系统中。

GitOps的重要特性之一就是:一切皆代码。以Git为单一可信源,所有与软件开发相关流程中的代码(包括基础设施代码、应用程序源码、配置等)都会存储在Git仓库中。

极狐GitLab很好的与基础设施即代码中的瑞士军刀——Terraform做了集成,可以方便的完成云基础设施的自动化管理。所有管理过程都是通过合并请求(Merge Request)来完成的,当需要对基础设施作某些变更时,只需要修改代码,并提交MR,在所有的修改都被审查和批准后,代码可以被合并到主分支上。一旦代码变化被合并,所有的变化将被部署到生产中。

Merge Request(MR)

当开发或者运维想要对系统(基础设施或者应用程序)做出某些变更时,需要提一个Merge Request,这是一种让多人、多团队进行协作的方式,能更好的对变更进行评审(Review),提前评估变更的必要性、准确性、安全性等,从而降低变更给系统带来的风险。对系统所有的变更发起点都是代码变更,这样就使安全审计变得简单,因为一切皆代码,所见即所得,评审、审批都在仓库系统中,对于所有人员都是透明可见的,透明度也会增强团队成员之间的信任度和协作性。

CI/CD

当MR创建审核完毕,后续的变更需要CI/CD自动化的流程去完成系统的变更。自动化的流程减少了人为的手动干预,减少了人员误操作所带来的风险,同时能够节省时间,在大规模使用场景中,是非常重要的一环。

总的来说,GitOps让所有变更的发起和应用都聚焦在极狐GitLab仓库中,开启了云原生时代基础设施管理和应用程序持续交付的新篇章。GitOps能够带来“快速进行变更更新和回滚”、“人员工作体验的提升”、“安全性提高”、“合规审计容易做”等好处,但同时也存在着一些挑战,诸如“协作文化的建立”、“敏感信息的处理”、“Git Workflow的建立”等问题,但随着技术的发展,我们相信,这些困难也会被一一攻克的。

  免责声明:本网站内容由网友自行在页面发布,上传者应自行负责所上传内容涉及的法律责任,本网站对内容真实性、版权等概不负责,亦不承担任何法律责任。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。

发布者:科技快报网

相关阅读

微信公众号
意见反馈 科技快报网微信公众号