1

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

4

2 回答 2

0

如果您命名一个 values 文件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
于 2021-03-12T00:22:13.647 回答
0

刚刚意识到 helmfiles values.yaml 它只是 helm --values 的来源。不应采取特殊行动。

于 2021-03-11T15:31:32.487 回答