我在 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): bad字符 U 0024 '$'
我已經嘗試了一些方法,但仍然無法做到。
#{{- $ScheduleName := printf "app%d" $vali }}
#nodeName: get $.Values.Schedule "$ScheduleName"
#can't work, too.
uj5u.com熱心網友回復:
Gotext/template語言包含一個函式,該index函式通過鍵或索引進行任意查找。所以你的最后一種形式幾乎是正確的:你需要在一個字串中構造鍵,然后用index它來檢索它。
{{- $scheduleName := printf "app%d" $vali -}}
nodeName: {{ index $.Values.Schedule $scheduleName }}
確保不要參考$scheduleName變數參考,以免模板語言將其解釋為字串文字。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/527623.html
