0

0

Flux v2.7 正式发布

心靈之曲

心靈之曲

发布时间:2025-10-09 18:37:00

|

412人浏览过

|

来源于php中文网

原创

flux v2.7.0 现已正式发布。

Flux v2.7 正式发布

主要更新

Flux v2.7 标志着镜像更新自动化功能的正式 GA,同时引入了新的 ExternalArtifact 和 ArtifactGenerator API,用于支持更复杂的源组合与拆分模式。

本次发布还为 Flux 控制器增加了多项新功能,包括支持监控 ConfigMaps 和 Secrets 的引用变更、通过 CEL 表达式扩展依赖的就绪状态评估,以及支持 OpenTelemetry 跟踪 Flux Kustomization 和 HelmRelease 的调和过程。

生态系统方面,发布了新版本的 Flux Operator,集成了集群内镜像自动更新功能,支持 GitLess GitOps 工作流。

镜像更新自动化正式 GA

本版本实现了 Flux Image Automation API 和控制器的 GA。image-reflector-controller 和 image-automation-controller 联动,当容器镜像仓库有新镜像时,会自动更新 Git 仓库中的 Kubernetes 清单。

以下 API 已升级为稳定版 v1:

  • ImageRepository
  • ImagePolicy
  • ImageUpdateAutomation

ImagePolicy API 新增了 .spec.suspend 字段,用于暂停和恢复策略评估。ImageUpdateAutomation 支持 Git 稀疏检出,启用方式是在 image-automation-controller 中添加 --feature-gates=GitSparseCheckout=true 参数。

此外,image-automation-controller 现支持使用 Kubernetes Workload Identity 认证 AzureDevOps 仓库。

不兼容变更:

  • image-reflector-controller 中自 2023 年起弃用的 autologin 参数已移除,用户需在 ImageRepository.spec.provider 设置相应云厂商。

  • ImageUpdateAutomation 中弃用自 2024 年起的 commit 模板字段 .Updated 和 .Changed.ImageResult 被移除,建议迁移到:

    • .Changed.FileChanges(详细变更)

    • .Changed.Objects(对象级变更)

    • .Changed.Changes(扁平变更列表)

监控 ConfigMaps 和 Secrets 的变更

从 Flux v2.7 起,kustomize-controller、helm-controller 和 notification-controller 支持监控 ConfigMaps 和 Secrets 的引用变更。

监控的引用字段包括:

  • Kustomization.spec.postBuild.substituteFrom

  • Kustomization.spec.decryption.secretRef

  • Kustomization.spec.kubeConfig.secretRef

  • Kustomization.spec.kubeConfig.configMapRef

  • HelmRelease.spec.valuesFrom

  • HelmRelease.spec.kubeConfig.secretRef

  • HelmRelease.spec.kubeConfig.configMapRef

  • Receiver.spec.secretRef

当被监控的 ConfigMap 或 Secret 变更,且对象标记有 reconcile.fluxcd.io/watch: Enabled 标签时,控制器会立即触发调和。

若想监控所有引用对象而不需要打标签,可通过 --watch-configs-label-selector=owner!=helm 参数配置控制器。

远程集群的 Workload Identity 认证

Flux v2.7 支持在 Kustomization 和 HelmRelease 资源层面配置 Workload Identity,用于 hub-and-spoke 模式中云厂商认证。

这让集群管理员可以使用 hub 集群的云身份认证 spoke 集群,无需创建和管理静态 kubeconfig Secrets。

更多配置详情参考:

  • Kustomization - remote cluster apply

  • HelmRelease - remote cluster apply

对象级 Workload Identity

Flux v2.7 完成了 Kubernetes Workload Identity 对所有支持云厂商认证的 Flux API 的集成,支持以下资源:

  • Bucket.spec.serviceAccountName(认证 AWS S3、Azure Blob、Google Cloud Storage)

  • GitRepository.spec.serviceAccountName(认证 Azure DevOps)

  • OCIRepository.spec.serviceAccountName(认证 AWS ECR、Azure Container Registry、Google Artifact Registry)

  • ImageRepository.spec.serviceAccountName(同上)

  • Kustomization.spec.decryption.serviceAccountName(认证 AWS KMS、Azure Key Vault、Google KMS)

  • Kustomization.spec.kubeConfig.configMapRef.name(认证远程 AWS EKS、Azure AKS、Google GKE)

  • HelmRelease.spec.kubeConfig.configMapRef.name(同上)

  • Provider.spec.serviceAccountName(认证 Azure DevOps、Azure Event Hub、Google Pub/Sub)

更多配置说明见:

  • AWS Workload Identity

  • Azure Workload Identity

  • GCP Workload Identity

OpenTelemetry 跟踪支持

从 Flux v2.7 起,用户可通过配置类型为 otel 的 Provider,启用 Flux 调和的 OpenTelemetry 跟踪:

睿拓智能网站系统-网上商城
睿拓智能网站系统-网上商城

睿拓智能网站系统-网上商城1.0免费版软件大小:5M运行环境:asp+access本版本是永州睿拓信息专为电子商务入门级用户开发的网上电子商城系统,拥有产品发布,新闻发布,在线下单等全部功能,并且正式商用用户可在线提供多个模板更换,可实现一般网店交易所有功能,是中小企业和个人开展个人独立电子商务商城最佳的选择,以下为详细功能介绍:1.最新产品-提供最新产品发布管理修改,和最新产品订单查看2.推荐产

下载

apiVersion: notification.toolkit.fluxcd.io/v1beta3
kind:Provider
metadata:
name:jaeger
namespace:flux-system
spec:
type:otel
address:http://jaeger-collector.jaeger:4318/v1/traces

notification-controller 会将 Flux 事件转换为 OTEL span,并基于 Flux 对象层级建立正确的追踪关系。源对象(GitRepository、HelmChart、OCIRepository、Bucket)生成根 span,Kustomization 和 HelmRelease 生成子 span。每个 span 包含事件元数据,服务标识使用告警名称和命名空间。

Flux v2.7 正式发布

Flux v2.7 正式发布

更多配置细节参考 notification-controller 文档。

控制器改进

  • GitRepository API 支持 GitHub App 的 mTLS 认证。

  • Kustomization API 支持 CEL 表达式扩展依赖就绪状态评估。

  • 新增 .spec.ignoreMissingComponents 字段,忽略源中缺失的 Kustomize 组件。

  • kustomize-controller 支持针对 Age 密钥的全局 SOPS 解密。

  • kustomize-controller 可配置在检测到新源版本时取消当前健康检查(--feature-gates=CancelHealthCheckOnNewRevision=true)。

  • HelmRelease API 支持 CEL 表达式扩展依赖就绪状态评估。

  • HelmRelease 新增 RetryOnFailure 策略,改善发布失败处理。

  • Provider API 支持通过 spec.proxySecretRef 设置代理,spec.certSecretRef 配置 mTLS。

  • Provider API 新增 Zulip 和 OpenTelemetry 跟踪支持。

CLI 改进

  • flux bootstrap 和 flux install 支持 --components-extra=source-watcher 参数,启用新组件 source-watcher。

  • 新增 flux migrate 命令,将 Kubernetes etcd 中的 Flux 资源迁移至最新 API 版本。

  • flux debug 增加 --show-history,显示 Flux 对象调和历史。

  • flux diff 支持处理 kustomize.toolkit.fluxcd.io/force: Enabled 注解。

  • flux create hr 增加 --storage-namespace 参数,改变 Helm 存储对象的命名空间。

  • 新增 ImagePolicy 相关命令:

    • flux reconcile image policy

    • flux suspend image policy

    • flux resume image policy

  • 新增 ArtifactGenerator 相关命令:

    • flux get artifact generator

    • flux export artifact generator

    • flux tree artifact generator

    • flux events --for ArtifactGenerator/

Artifact Generators

Flux v2.7 新增 source-watcher 组件,可通过 --components-extra=source-watcher 开启。

source-watcher 控制器实现了 ArtifactGenerator API,支持:

  • 多个 Flux 源(GitRepository、OCIRepository、Bucket)组合成单一可部署工件

  • 将 monorepo 拆分成多个独立工件,各自拥有独立部署生命周期

  • 只在特定路径变更时触发调和,提升效率

  • 方便构建由不同团队维护的分布式复杂部署

多源组合示例

ArtifactGenerator 可将多个源组合成单个部署工件,比如将上游 OCI Helm Chart 与组织自定义配置合并:

apiVersion: source.extensions.fluxcd.io/v1beta1
kind:ArtifactGenerator
metadata:
name:podinfo
namespace:apps
spec:
sources:
    -alias:chart
      kind:OCIRepository
      name:podinfo-chart
    -alias:repo
      kind:GitRepository
      name:podinfo-values
artifacts:
    -name:podinfo-composite
      originRevision:"@chart"
      copy:
        -from:"@chart/"
          to:"@artifact/"
        -from:"@repo/charts/podinfo/values.yaml"
          to:"@artifact/podinfo/values.yaml"
          strategy:Overwrite
        -from:"@repo/charts/podinfo/values-prod.yaml"
          to:"@artifact/podinfo/values.yaml"
          strategy:Merge
---
apiVersion:helm.toolkit.fluxcd.io/v2
kind:HelmRelease
metadata:
name:podinfo
namespace:apps
spec:
interval:15m
releaseName:podinfo
chartRef:
    kind:ExternalArtifact
    name:podinfo-composite

Monorepo 拆分示例

ArtifactGenerator 可将 monorepo 拆分为多个独立工件,分别管理生命周期:

apiVersion: source.extensions.fluxcd.io/v1beta1
kind:ArtifactGenerator
metadata:
name:app-decomposer
namespace:apps
spec:
sources:
    -alias:git
      kind:GitRepository
      name:monorepo
artifacts:
    -name:frontend
      originRevision:"@git"
      copy:
        -from:"@git/deploy/frontend/**"
          to:"@artifact/"
    -name:backend
      originRevision:"@git"
      copy:
        -from:"@git/deploy/backend/**"
          to:"@artifact/"
---
apiVersion:kustomize.toolkit.fluxcd.io/v1
kind:Kustomization
metadata:
name:frontend-service
namespace:apps
spec:
interval:15m
prune:true
sourceRef:
    kind:ExternalArtifact
    name:frontend
path:./
---
apiVersion:kustomize.toolkit.fluxcd.io/v1
kind:Kustomization
metadata:
name:backend-service
namespace:apps
spec:
interval:15m
prune:true
sourceRef:
    kind:ExternalArtifact
    name:backend
path:./

backend-service 仅在 deploy/backend/ 变更时触发调和,其他服务不受影响。

更多使用详情见 source-watcher 文档。

支持的版本

Flux v2.4 已停止维护,不再支持。

Flux v2.7 支持以下 Kubernetes 版本:

Flux v2.7 正式发布

企业支持方面,CNCF Flux 项目仅支持 Kubernetes 最近三个小版本。对于更早版本,企业用户可通过 ControlPlane 等厂商获取 Flux 企业级支持。

更多详情可查看官方公告。

源码地址:点击下载

相关专题

更多
什么是分布式
什么是分布式

分布式是一种计算和数据处理的方式,将计算任务或数据分散到多个计算机或节点中进行处理。本专题为大家提供分布式相关的文章、下载、课程内容,供大家免费下载体验。

325

2023.08.11

分布式和微服务的区别
分布式和微服务的区别

分布式和微服务的区别在定义和概念、设计思想、粒度和复杂性、服务边界和自治性、技术栈和部署方式等。本专题为大家提供分布式和微服务相关的文章、下载、课程内容,供大家免费下载体验。

233

2023.10.07

自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

641

2023.07.05

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

528

2023.07.06

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

264

2023.07.24

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

550

2024.04.09

git怎么对比两个版本的文件内容
git怎么对比两个版本的文件内容

要对比两个版本的 git 文件,请使用 git diff 命令:git diff 比较工作树和暂存区之间的差异。git diff 比较两个提交或标签之间的差异。git diff 输出显示差异块,其中 + 表示添加的行,- 表示删除的行, 表示修改的行。可使用 gitkraken、meld、beyond compare 等可视化工具更直观地查看差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

513

2024.04.09

Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务
Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务

Golang云原生微服务Kubernetes (K8s) 是指 使用 Go 语言(Golang)编写的云原生微服务,并利用 Kubernetes 平台进行容器化部署、自动化管理、弹性伸缩和高效编排的一整套现代应用架构方案。

24

2025.12.22

Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

19

2026.01.20

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Bootstrap 5教程
Bootstrap 5教程

共46课时 | 2.9万人学习

HTML+CSS基础与实战
HTML+CSS基础与实战

共132课时 | 9.6万人学习

JS进阶与BootStrap学习
JS进阶与BootStrap学习

共39课时 | 3.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号