大家好,我是张晋涛。
经过前面三篇文章,不仅为大家介绍了什么是 GitOps 也介绍了如何利用 Argo CD 来实施 GitOps。本篇我来为你介绍另一个可用于实施 GitOps 的工具:Flux CD 。
Flux CD
Flux 是一组可支持实现 GitOps 的工具,用于使 Kubernetes 集群与配置源(如 Git 仓库)保持同步,并在有代码更新后自动同步配置,面向 Kubernetes 的持续渐进式交付解决方案。
Flux CD 的发展历史
2016 年 10 月 28 日,Flux single-user service 版本发布。
它奠定了 flux 的两个基调:
-
集中式运行的服务
以守护进程的方式,在自动模式下运行在 k8s 集群中
2016 年 12 月 15 日,发布《使用 Weave Flux 持续交付》,构建了将 CI 与持续部署 (CD) 联系起来的 Flux。
2017 年 8 月 22 日,v1.0.0 版本正式发布。
自 v1.0.0 开始,Flux 致力于将集群与存储在 Git 中的配置同步,并在新版本准备好部署时自动升级镜像。(提出了:Configuration as code)
2018 年 5 月 1 日,发布的 alpha 版本中,集成了 Helm Operator 。这是 Flux Helm Operator 的第一个 alpha 标签的版本。
2019 年 8 月 15 日,Flux 宣布加入 CNCF Sandbox。随着各开发者及企业开始落地 GitOps ,Flux 的用户数量不断增长。彼时已超过 2500 个 GitHub star,也在不断地集成:Helm Operator 、 Kustomize 、 Weave Flagger 、 OpenFaaS 、 Fluxcloud 、 Flux Web UI 等。
2019 年 10 月 2 日发布的版本,正式支持 kustomize 。
2019 年 11 月 14 日,《Argo Flux 简介 - Weaveworks-Intuit-AWS 协作》中,Weaveworks 宣布与 Intuit 合作创建了 Argo Flux。该项目被称为 GitOps-Engine ,现在位于 Argo 项目组织中,由 Intuit、Red Hat 和 GitLab 驱动。(具体可参考:https://www.weave.works/blog/argo-flux-join-forces)
2020 年 10 月 5 日,Flux v1(和 Helm Operator v1)宣布处于维护模式(仅提供 6 个月支持),并宣布将致力于 Flux v2 的开发。
-
Flux v1 is in maintenance mode #3320 https://github.com/fluxcd/flux/issues/3320
Helm Operator (v1) is in maintenance mode #546 https://github.com/fluxcd/helm-operator/issues/546
-
V1 in maintenance #25 https://github.com/fluxcd/website/pull/25
2021 年 2 月 17日新版本发布,正式将 issue、PR 指向 v2。
2021 年 3 月 11 日,CNCF 技术监督委员会(TOC) 投票将 Flux 从 Sandbox 提升为孵化项目(Incubation)。自加入 CNCF Sandb