我试图在kubernetes头盔图中循环计数,如下所示:
reaction.mongo_url_big: mongodb://{{ for $mongocount := 0; $mongocount < {{ .Values.mongodbReplicantCount }}; $mongocount++ }}{{ .Values.mongodbReleaseName }}-mongodb-replicaset-{{ $mongocount }}:{{ .Values.mongodbPort }}{{ if $mongocount < {{ .Values.mongodbReplicantCount }} - 1 }},{{ end }}{{ end }}/{{ .Values.mongodbName }}?replicaSet={{ .Values.mongodbReplicaSet }}
但是,go模板中没有可用的内容,因为它们会告诉你themselves
我希望它输出如下内容:
reaction.mongo_url: mongodb://{{ .Values.mongodbReleaseName }}-mongodb-replicaset-0:{{ .Values.mongodbPort }},{{ .Values.mongodbReleaseName }}-mongodb-replicaset-1:{{ .Values.mongodbPort }},{{ .Values.mongodbReleaseName }}-mongodb-replicaset-2:{{ .Values.mongodbPort }}/{{ .Values.mongodbName }}?replicaSet={{ .Values.mongodbReplicaSet }}
我的头盔图中的行在这里:https://github.com/joshuacox/reactionetes/blob/gymongonasium/reactioncommerce/templates/configmap.yaml#L11
2 回答
使用范围:
这将输出.Values中每个项目的.MongodbReleaseName(假设是一个字段) . 该值已分配给 . 在范围内,您可以简单地引用各个值的字段/函数 . 这非常类似于其他模板语言中的for循环 . 您也可以通过分配索引和值来使用它 .
关于helm tips and tricks page的注意事项他们提到已经添加了sprig函数,其中一个是直到,可以在行动中看到here或在我的情况下: