【问题标题】:How to pass environment variables from helmfile values.yaml to chart's values.yaml?如何将 helmfile values.yaml 中的环境变量传递给图表的 values.yaml?
【发布时间】:2021-03-11 12:45:54
【问题描述】:

我有一个带有多个图表的 helmfile 版本。每个图表内都有 values.yaml。 Рow 如何使这些 values.yaml 中的值根据环境而变化?我知道如何参数化 helmfile 的 values.yaml,但我找不到任何方法将这些值进一步放入图表 values.yaml。有人可以帮我吗?

【问题讨论】:

    标签: kubernetes-helm helmfile


    【解决方案1】:

    刚刚意识到 helmfiles values.yaml 它只是 helm --values 的来源。无需执行任何特殊操作。

    【讨论】:

      【解决方案2】:

      如果您将值文件命名为 anything.yaml.gotmpl,则 Helmfile 将在将其用作值以安装相关图表之前将其模板应用于该文件。

      所以如果你的helmfile.yaml

      environments:
        prod:
          values:
            - domain: prod.example.com
      releases:
        - name: a-service
          namespace: a-service
          chart: ./a-service/charts/a-service
          values:
            - ./a-service/charts/a-service/values.yaml.gotmpl # <-- *.gotmpl filename
      

      那么values.yaml.gotmpl可以有

      service:
        annotations:
          external-dns.alpha.kubernetes.io/hostname: >-
            a-service.{{ .Values.domain }}
      {{/* Expression    ^^^^^^^^^^^^^^   uses per-environment values */}}
      

      你可以安装这个

      helmfile -e prod apply
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-05-15
        • 1970-01-01
        • 1970-01-01
        • 2013-12-29
        • 1970-01-01
        • 1970-01-01
        • 2016-07-08
        相关资源
        最近更新 更多