我有一个包含多个图表的 helmfile 版本。每个图表中都有 values.yaml。 Рow 使那些 values.yaml 中的值根据环境而变化?我知道如何参数化 helmfile 的 values.yaml,但我找不到任何方法将这些值进一步放入图表 values.yaml。有人可以帮我吗?
答案 0 :(得分:0)
刚刚意识到 helmfiles values.yaml 它只是 helm --values 的来源。不应执行任何特殊操作。
答案 1 :(得分:0)
如果您将一个值文件命名为 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