helm模板語法報錯 wrong type for value; expected int; got float64
阿新 • • 發佈:2022-04-12
Helm小技巧之數字操作
- 數字迭代方法,通過replicas迭代時,可以通過until來支援迭代數字
#定義replicaCount
{{- $replicaCount := int .Values.replicaCount}}
{{- range $i, $e := until $replicaCount}}
{{$i}},{{$e}}
{{- end -}}
當replicaCount=5時,執行結果則為:
0,0
1,1
2,2
3,3
4,4
注意:
- 以上預設的Values.replicaCount中取的值是float64,需要向如上方式做一次轉換,否則會出現如下錯誤。
- 以上的中劃線”-“,前面的代表去掉輸出的上一行空行,後面的代表輸出行的後一行空行。
Error: render error in "test_proj/templates/service.yaml": template: est_proj/templates/test.yaml:1:31: executing "est_proj/templates/service.yaml" at <.Values.replicaCount>: wrong type for value; expected int; got float64
- 通過tuple實現任意內容的迭代
{{- range $i, $e := tuple 1 3 "s1" "s2" 2.33}} {{$i}},{{$e}} {{- end -}}
執行結果
0,1
1,3
2,s1
3,s2
4,2.33
- 通過步長(untilStep)方式迭代
{{- range untilStep 1 10 2 }}
{{ . }}
{{- end }}
untilStep後有三個引數,第一個代表起始值,如這裡的1,第二個代表終止值,不包含該值,如這裡的10,第三個為步長,這裡的2,整體可以看做[1,10),每次迭代步長2
執行結果
1
3
5
7
9