可观测性作为部署催化剂
GitOps的一个重要组成部分是反馈和控制。但这到底是什么意思呢?为了控制开发人员可以更快地进行,他们需要将可观测性内置到部署工作流中。内置的可观测性允许工程师对实时数据做出明智的决策。例如,当部署正在推出时,在提交该更新之前,可以对正在运行的集群进行最后的运行状况检查。或者没有按计划进行的更新可以很容易地回滚到以前的稳定状态。
通过反馈控制循环,您可以有效地回答以下问题:
- 我如何知道我的部署是否会成功?
- 如何知道活动系统是否已收敛到所需状态?
- 如果有不同,可以通知我吗?
- 我可以触发集群和源代码管理之间的融合吗?
虽然Git是系统期望状态的真实来源,但可观察性为运行系统的实际生产状态提供了基准。GitOps利用这两者来管理应用程序。
在GitOps中,发散和收敛是通过一组“差异”和“同步”工具(例如,kubediff,terradiff和ansiblediff)来实现的,这些工具将预期状态与实际状态进行比较。Diff工具还用于在部署不同步时向开发人员发出警报。
具有差异和内置可观测性的反馈循环类似于这样,其中可观测性为开发人员和操作员提供反馈,以做出关于部署和系统的关键决策:
反馈和控制回路

因为即将发布的服务或更新可以在运行的集群中实时观察,所以您可以放心地部署并交付更高质量的特性。
可观测性是Kubernetes连续交付周期的主要驱动力,因为它描述了系统在任何给定时间的实际运行状态。在新特性和修复被合并到Git之后,部署管道被触发,一旦映像准备好发布,就可以针对正在运行的集群实时观察它。此时,开发人员可能会基于此反馈返回到管道的开始,或者他们可能会将映像部署并发布到生产集群。
总之,我们了解了GitOps如何协助连续交付,并将Git实现为声明性基础结构和应用程序的单一真理来源。作为Kubernetes和其他云原生技术的运行模型,GitOps提供了一套最佳实践,用于统一容器化集群和应用程序的部署、管理和监控。
使用Git作为自动化CI/CD管道的中心枢纽,开发人员可以请求pull来加速和简化应用程序和基础设施到Kubernetes的部署。在未来的几年里,云原生世界将迅速采用GitOps,因为CI/CD的角色带来了更好的开发人员体验和更快的特性发布,从而提高了开发人员的效率,提供了一套精干的维护工具,对内部涉众的整个基础设施的可见性,并增强了团队之间的协作。
- 点赞
- 收藏
- 关注作者
评论(0)