Flux v2.8.0 现已正式发布。
![]()
亮点
Flux v2.8 支持 Helm v4,引入了服务端应用(server-side apply)和增强的健康检查功能。本次发布还带来了 Flux 控制器的多项新特性:
- 缩短 Flux 管理应用的平均恢复时间
- 基于 CEL 表达式对 Helm 管理对象进行就绪度评估
- ArtifactGenerator 支持提取并修改 Helm Chart
- 支持从 Flux 通知直接对 Pull Request 评论
- kustomize-controller 支持自定义 SSA 应用阶段,控制资源应用顺序
- 自动从仓库所有者获取 GitHub App 安装 ID
- 支持 Cosign v3 验证 OCI 制品和容器镜像
生态系统方面,Flux Operator 发布了新版本,带来专用的 Flux Web UI 和预览环境新供应商。
Helm v4 支持
Flux 现在集成 Helm v4,带来两大改进:
- 服务端应用,API 服务器负责字段合并,减少资源冲突,检测漂移更准确
- 采用 kstatus 进行健康检查,而不是依赖 Helm 旧的就绪逻辑,支持更准确地理解 Deployment、StatefulSet、Job 及自定义资源的实际状态
对于需要自定义就绪逻辑的团队,Flux 现在支持 HelmReleases 上的 CEL 健康检查表达式,灵活度与 Kustomization API 一致。
默认启用服务端应用和 kstatus 健康检查。已存在的 HelmReleases 会继续使用客户端应用,除非显式切换。健康检查则统一切换到 kstatus。想保持 Helm v3 行为的团队,可以通过 UseHelm3Defaults 功能门控恢复旧默认。
HelmReleases 还新增了 .status.inventory 字段,全面展示 Flux 部署资源,有助于调试、审计和构建工具。
部署失败后更快恢复
使用 GitOps 的常见痛点是提交修复后等待时间长。之前,Flux 在发布失败后会等待整个超时周期才行动,即使新版本已可用,导致平均恢复时间(MTTR)延长。
Flux 2.7 中,kustomize-controller 引入 CancelHealthCheckOnNewRevision 功能门控,允许检测到新源版本时取消健康检查。Flux 2.8 把这功能扩展到 helm-controller,并支持更多变化触发取消:
- 资源规格变化(路径、补丁、镜像、值)
- 关联 ConfigMap 和 Secret 改动(变量替换、SOPS 解密键、kubeconfig)
- 手动触发的 reconciliations(flux reconcile 或通知控制器接收器)
出现上述情况时,Flux 会取消当前健康检查,立即开始对新状态的对齐,避免等待失败发布超时,迅速响应修复。新增 HealthCheckCanceled 理由显示于 Ready 条件,便于观测。该功能目前需手动开启,待实现成熟后计划默认启用。
生态新闻
Flux Operator Web UI
2025 年亚特兰大 KubeCon 上,ControlPlane 团队预览了新版 Flux Web UI,现已随 Flux Operator 最新版本发布。该 Web UI 界面现代、易用,方便管理和监控 Flux 管理的集群,功能包括:
- 集群仪表盘,展示同步统计和整体健康状态
- ResourceSets、HelmReleases、Kustomizations 深度视图
- 工作负载监控,从部署滚动到 Pod 状态
- 强大搜索与筛选
- 收藏功能,快速访问关键资源
- 支持基于 OIDC 和 Kubernetes RBAC 的单点登录,适合多租户环境
- GitOps 流水线图形展示
- 通过 RBAC 保护的手动干预和事件响应 GitOps 操作
预览环境
Flux Operator 的 ResourceSet API 简化了基于 GitHub PR 和 GitLab MR 的临时预览环境部署。Flux 2.8 引入了新通知控制器提供商类型:githubpullrequestcomment、gitlabmergerequestcomment 和 giteapullrequestcomment,显著简化了反馈闭环。
过去需配置 githubdispatch 提供商和 GitHub Actions 工作流来发布状态评论。现在通知控制器直接在 PR/MR 页面发评论,无需 CI 流程,且自动去重,保持 PR 简洁。
此外,提交状态汇报可适用于任何 Flux API,不仅限于 Kustomizations 和 GitRepositories。预览环境的 HelmRelease 也能将状态作为提交检查显示,开发者能即时看到部署是否成功。
相关注解:
event.toolkit.fluxcd.io/change_request — 标识 PR/MR 号,用于评论提供商
event.toolkit.fluxcd.io/commit — 标识提交 SHA,用于提交状态提供商
支持版本
Flux v2.5 已停止维护,不再支持。Flux v2.8 支持以下 Kubernetes 版本:
![]()
企业支持:CNCF Flux 项目只支持最新三个小版本的 Kubernetes。对旧版本的兼容和企业支持由 ControlPlane 等厂商提供。
升级指南
Flux v2.8 中,以下 API 已停止支持并从 CRD 中移除:
- source.toolkit.fluxcd.io/v1beta2
- kustomize.toolkit.fluxcd.io/v1beta2
- helm.toolkit.fluxcd.io/v2beta2
升级前建议确保使用 flux migrate 迁移所有资源到稳定版 API。