1

我正在尝试将单独的 values.yaml 文件中的值动态分配给变量。

我的 values.yaml 文件内容

peer_cidr1 = x
peer_cidr2 = y
peer_cidr3 = z

yaml 文件:

   {{- $root := . -}}
   {{ range $i, $dn := until (atoi (printf "%d" (int64 .Values.no_of_peers))) }}
   { "dst": "{{ $root.Values.peer_cidr$i }}" }

引用 Values.peer_cidr$i 来引用 values.yaml 中的变量。$i 抛出错误的字符错误。

4

1 回答 1

0

$root.Values.peer_cidr$i是模板中的无效语法。

而是使用该index功能,例如

{{ index $root "Values" (printf "peer_cidr%d" $i) }}

另请注意,索引统计在0但您要查找的值从1(例如peer_cidr1)开始,因此索引的值0将不存在,并且您不会访问最后一个元素。所以$i像这样加1:

{{ index $root "Values" (printf "peer_cidr%d" (add1 $i) ) }}
于 2020-11-23T10:05:16.913 回答