我在 values.yaml 中得到了一張地圖: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.go:94: [debug] 解析錯誤 (xxx/templates/app.yaml:51): 壞字符 U+0024 '$'我已經(jīng)嘗試了一些方法,但仍然無法做到。#{{- $ScheduleName := printf "app%d" $vali }}#nodeName: get $.Values.Schedule "$ScheduleName"#can't work, too.
1 回答

鴻蒙傳說
TA貢獻1865條經(jīng)驗 獲得超7個贊
Gotext/template
語言包含一個函數(shù),它通過鍵或索引進行index
任意查找。所以你最后的形式幾乎是正確的:你需要在一個字符串中構(gòu)造鍵,然后使用index
它來檢索它。
{{- $scheduleName := printf "app%d" $vali -}} nodeName: {{ index $.Values.Schedule $scheduleName }}
確保不要引用$scheduleName
變量引用,以免模板語言將其解釋為字符串文字。
- 1 回答
- 0 關(guān)注
- 121 瀏覽
添加回答
舉報
0/150
提交
取消