首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图表模板中的嵌套循环

图表模板中的嵌套循环
EN

Stack Overflow用户
提问于 2018-10-31 03:07:52
回答 1查看 3.7K关注 0票数 2

我在为Helm图绘制模板时遇到了问题,该模板需要易于扩展的节点和副本数量。我收到下面的错误消息。奇怪的是,如果将内部循环删除为不嵌套循环,则不会得到以下错误消息。我是新来的,但这似乎是正确的。我不知所措。

错误:

代码语言:javascript
复制
$ helm install . --dry-run --debug
Error: render error in "app-on-k8s/templates/configmap_configd.yaml": template: app-on-k8s/templates/configmap_configd.yaml:18:77: executing "app-on-k8s/templates/configmap_configd.yaml" at <.Values.nodeCount>: can't evaluate field Values in type int

这是我的values.yaml文件中的相关部分:

代码语言:javascript
复制
# number of nodes / shards
nodeCount: 5
replicaCount: 3

以及我的模板文件中的相关部分:

代码语言:javascript
复制
    <default>
        {{range $i, $e := until (atoi (printf "%d" (int64 .Values.nodeCount))) }}
                <node>
                {{range $j, $k := until (atoi (printf "%d" (int64 .Values.replicaCount))) }}   #line 18
                    <replica>
                        <host>{{ $.Release.Name }}-{{$j}}</host>
                        <port>{{ $.Values.service.rpc_port }}</port>
                    </replica>
                {{end}}    
                </node>
        {{end}}
    </default>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-31 04:04:17

问题是,当您在第二个循环中使用.Values.replicaCount时,.作用域已经更改,现在指向.Values.nodeCount。所以.Values.replicaCount现在指向.Values.nodeCount.Values.replicaCount。因为,在values.yaml文件中没有这样的字段,所以您将得到这个错误。

在第二个循环中使用$.Values.replicaCount而不是.Values.replicaCount

参考文献:helm.sh

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53075710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档