You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Git仓库中values.yaml变更触发Flux更新Helm Release

方案可行性及实现步骤

完全可行,Flux支持将独立Git仓库中的values.yaml文件作为HelmRelease的配置源,同时保持该文件的独立性,满足你跨部署场景复用的需求。具体实现步骤如下:

1. 配置指向values仓库的GitRepository资源

首先在Flux中创建一个GitRepository资源,用来拉取存储values.yaml的独立Git仓库:

apiVersion: source.toolkit.fluxcd.io/v1
kind: GitRepository
metadata:
  name: app-values-repo
  namespace: flux-system
spec:
  interval: 1m0s # 每隔1分钟检查仓库变更
  url: https://github.com/your-org/your-values-repo.git # 替换为你的values仓库地址
  ref:
    branch: main # 替换为values.yaml所在的分支

2. 修改HelmRelease引用独立仓库的values.yaml

更新你现有的HelmRelease配置,通过valuesFrom字段引用上述GitRepository中的values.yaml文件,替代原来的内嵌values内容:

apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
  name: your-app
  namespace: your-namespace
spec:
  chart:
    spec:
      chart: your-chart # 替换为目标Chart名称
      sourceRef:
        kind: HelmRepository
        name: your-public-chart-repo # 你之前配置的公开Chart仓库
      version: "1.0.x" # 替换为Chart的版本范围
  interval: 5m0s
  valuesFrom:
    - kind: GitRepository
      name: app-values-repo
      namespace: flux-system
      path: ./path/to/your/values.yaml # 替换为values.yaml在仓库中的相对路径

3. 验证自动更新逻辑

配置完成后,Flux会按照GitRepository中设定的间隔检查values仓库的变更。一旦values.yaml文件被修改并推送到仓库,Flux会自动拉取最新内容,触发HelmRelease的同步和应用升级。

额外说明

  • 该方案下,values.yaml完全独立于Flux的配置仓库,你可以直接将其用于非Flux场景(比如本地用helm install -f values.yaml命令部署)。
  • 如果需要区分不同环境的values,可以在独立仓库中按环境分目录(如dev/values.yaml、prod/values.yaml),然后在HelmRelease的valuesFrom中指定对应路径即可。

内容的提问来源于stack exchange,提问作者Chirlo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 15:40:01