Helm模板中扩展变量引用_helpers.tpl命名模板失败问题咨询
Helm动态引用命名模板的问题解决
你当前的写法报错是因为template函数不支持变量作为模板名参数——它只会把"$key"当成字面量模板名,自然找不到对应的模板。这种动态根据变量引用模板的需求是完全可行的,换用include函数就能解决。
修改后的deployment.yaml代码
... container: - name: xxxx env: {{- range $key := .Values.app.env }} - name: {{ $key }} value: {{ include $key $ }} {{ end }}
关键说明
include函数支持变量作为第一个参数,会正确解析$key的值(比如你的例子里的AAAA)- 第二个参数用
$而不是.:因为在range循环内部,.的作用域已经变成了当前循环的$key字符串,而你定义的模板AAAA需要的是根上下文(或者说原本的Chart上下文),用$可以指向根作用域,确保模板能正常渲染。
修改后渲染出来的结果会符合预期:
... container: - name: xxxx env: - name: AAAA value: BBBB
内容的提问来源于stack exchange,提问作者Ryan
相关产品推荐
相关产品推荐

