Kubernetes 在舵图中作为yaml键的变量值

Kubernetes 在舵图中作为yaml键的变量值,kubernetes,kubernetes-helm,go-templates,Kubernetes,Kubernetes Helm,Go Templates,我想通过在helm命令行中设置一个变量,从values.yaml中选择config节 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

我想通过在helm命令行中设置一个变量,从values.yaml中选择config节

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 {}
错误:在“/templates/configmap.yaml”中呈现错误:模板:./templates/configmap.yaml:21:12:在执行“/templates/configmap.yaml”时:无法计算类型接口{}中的字段x1

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

我怀疑您正在寻找
index
函数,它可以通过变量键在映射中查找值

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