我有一张价值Map
Schedule:
app1: node01
app2: node07
app3: node13
我想在template/app中使用它。yaml:
{{- $tuplei := untilStep 1 4 1 -}}
{{- range $keyi, $vali := $tuplei }}
---
spec:
template:
spec:
nodeName: {{ $.Values.Schedule.node$vali }}
它不能工作:
错误:在(xxx/templates/app.yaml:51)处出现解析错误:错误字符U+0024 ′ $′ helm。开始:94:[调试]在(xxx/templates/app.yaml:51)处出现解析错误:错误字符U+0024 '$'
我已经试过一些方法,但还是不行。
# {{- $ScheduleName := printf "app%d" $vali }}
# nodeName: get $.Values.Schedule "$ScheduleName"
# can't work, too.
1条答案
按热度按时间0kjbasz61#
Go
text/template
language包含一个index
函数,它可以通过键或索引进行任意的查找,所以最后一种形式几乎是正确的:您需要在字符串中构造密钥,然后使用index
来检索它。请确保不引用
$scheduleName
变量引用,以免模板语言将其解释为字符串文字。