可观测性作为部署催化剂

举报
kaliarch 发表于 2022/11/05 14:08:45 2022/11/05
【摘要】 GitOps的一个重要组成部分是反馈和控制。但这到底是什么意思呢?为了控制开发人员可以更快地进行,他们需要将可观测性内置到部署工作流中。内置的可观测性允许工程师对实时数据做出明智的决策。例如,当部署正在推出时,在提交该更新之前,可以对正在运行的集群进行最后的运行状况检查。或者没有按计划进行的更新可以很容易地回滚到以前的稳定状态。通过反馈控制循环,您可以有效地回答以下问题:我如何知道我的部署是...

GitOps的一个重要组成部分是反馈和控制。但这到底是什么意思呢?为了控制开发人员可以更快地进行,他们需要将可观测性内置到部署工作流中。内置的可观测性允许工程师对实时数据做出明智的决策。例如,当部署正在推出时,在提交该更新之前,可以对正在运行的集群进行最后的运行状况检查。或者没有按计划进行的更新可以很容易地回滚到以前的稳定状态。
通过反馈控制循环,您可以有效地回答以下问题:

  • 我如何知道我的部署是否会成功?
  • 如何知道活动系统是否已收敛到所需状态?
  • 如果有不同,可以通知我吗?
  • 我可以触发集群和源代码管理之间的融合吗?

虽然Git是系统期望状态的真实来源,但可观察性为运行系统的实际生产状态提供了基准。GitOps利用这两者来管理应用程序。
在GitOps中,发散和收敛是通过一组“差异”和“同步”工具(例如,kubediff,terradiff和ansiblediff)来实现的,这些工具将预期状态与实际状态进行比较。Diff工具还用于在部署不同步时向开发人员发出警报。
具有差异和内置可观测性的反馈循环类似于这样,其中可观测性为开发人员和操作员提供反馈,以做出关于部署和系统的关键决策:
反馈和控制回路

因为即将发布的服务或更新可以在运行的集群中实时观察,所以您可以放心地部署并交付更高质量的特性。
可观测性是Kubernetes连续交付周期的主要驱动力,因为它描述了系统在任何给定时间的实际运行状态。在新特性和修复被合并到Git之后,部署管道被触发,一旦映像准备好发布,就可以针对正在运行的集群实时观察它。此时,开发人员可能会基于此反馈返回到管道的开始,或者他们可能会将映像部署并发布到生产集群。

总之,我们了解了GitOps如何协助连续交付,并将Git实现为声明性基础结构和应用程序的单一真理来源。作为Kubernetes和其他云原生技术的运行模型,GitOps提供了一套最佳实践,用于统一容器化集群和应用程序的部署、管理和监控。
使用Git作为自动化CI/CD管道的中心枢纽,开发人员可以请求pull来加速和简化应用程序和基础设施到Kubernetes的部署。在未来的几年里,云原生世界将迅速采用GitOps,因为CI/CD的角色带来了更好的开发人员体验和更快的特性发布,从而提高了开发人员的效率,提供了一套精干的维护工具,对内部涉众的整个基础设施的可见性,并增强了团队之间的协作。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。