CNCF 推动 GitOps Flux 晋升为孵化项目(Incubated Project)

CNCF 推动 GitOps Flux 晋升为孵化项目(Incubated Project)

CNCF 早前已经将 Flux 项目从 Sandbox 项目晋升到孵化项目。这不仅证明了Flux 应用的广泛性,也证明了它加入了 GitOps 项目家族,为持续交付带来了一个统一的工具包方法。

Flux 用户处理 Kubernetes 的持续和渐进式交付。

Flux帮助开发者、操作者和平台工程师按照GitOps的原则,为他们的声明性基础设施和部署配置保持一个单一的真理源。Flux 监控 Git 对 Kubernetes 上运行内容的变化,并相应地更新集群。

Flux由 GitOps Toolkit 和 Flagger 组成。 GitOps Toolkit 是一套 API 和 Kubernetes 控制器,构成了Flux的运行时间。该工具包可用于扩展Flux和构建你自己的持续交付系统;Flagger 是一个 Kubernetes 运营工具,处理渐进式交付,包括 canary、A/B测试 和 blue/green 部署。

这个项目已经很受欢迎,有 80 多个组织在生产中使用,包括 Fidelity Investments、Starbucks 和 Canva。

CNCF的首席技术官 Chris Aniszczyk 说道:“GitOps从使用Git作为声明性基础设施的真理之源的简单想法开始,发展到一个工具的生态系统,改善了开发人员使用Kubernetes交付应用程序的体验。随着越来越多的组织大规模采用云原生软件,像Flux这样的GitOps工具自然会被采用,我们期待着在CNCF内培养他们的社区。”

CNCF 计划在 2021 年底前停用 Flux v1。根据项目路线图,Flux v2 将在几个月后发布 GA版本。

Flux v2 集成了 Prometheus、Helm 和 Kubernetes 生态系统的其他组件。此外,它还包括一个软件开发工具包(SDK),并支持同步任意数量的 Git 存储库。

Viktor Farcic 是 Google Developer Experts 和 Docker Captains groups 成员,他很欣赏 GitOps 的概念,认为 Flux v2 比v1 有了很大的进步:“首先,Flux最初没有尝试为安装提供任何声明性的定义,至少在最初的安装页面上没有。没有试图引导我们在应用于集群之前将一些东西定义为代码并存储在 git 中。Flux v2 被引入时,这一切都改变了,它改变了安装过程,现在它创建了一个git repo,推送了 Flux 清单,然后才安装 Flux。从那以后,对 Flux 的任何改变都可以通过改变相关的存储库来完成。就这一点来说,Flux 做得很好! ”

注:一个 CNCF 项目要想从沙盒阶段转入孵化阶段,必须至少有三个独立的最终用户公司在生产中使用,有相当数量的提交者,并且至少有一个公共可参考的实现。任何晋升到孵化阶段的 CNCF 项目都必须经过严格的审核过程,以确保它是稳定的和可用于生产的。