变量值作为 helm chart 中的 yaml 键

Variable value as yaml key in helm chart

我想通过在 helm 命令行中设置一个变量来从 values.yaml 中选择配置部分。

values.yaml的示例部分:

aaa:
  x1: "az1"
  x2: "az2"
bbb:
  x1: "bz1" 
  x2: "bz2"

configmap.yaml

的示例部分
data: 
  {{ .Values.outsideVal.x1 }}

预期结果应如下所示

   data:
     az1

测试头盔输出

helm template --set outsideVal=aaa mychart

得到这个错误

Error: render error in "./templates/configmap.yaml": template: ./templates/configmap.yaml:21:12: executing "./templates/configmap.yaml" at <.Values.outsideVal.x...>: can't evaluate field x1 in type interface {}

所以问题是如何得到预期的结果?

我怀疑您正在寻找 text/template index 函数,它可以通过变量键在地图中查找值。

{{ (index .Values .Values.outsideVal).x1 }}