kubernetes - 在 go Helm 图表模板中循环

标签 kubernetes kubernetes-helm

关闭。这个问题是opinion-based .它目前不接受答案。












想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.

3年前关闭。




Improve this question




我正在尝试在 kubernetes 掌 Helm chart 中循环计数,如下所示:

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 模板似乎缺乏呈现“for”循环的方法,by design

我希望它输出如下内容:
 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 }}

我的掌 Helm chart 中的线在这里:
https://github.com/joshuacox/reactionetes/blob/gymongonasium/reactioncommerce/templates/configmap.yaml#L11

最佳答案

使用范围:

{{ range .Values }}
   {{ .MongodbReleaseName }}
{{ end }}

这将输出 .Values 中每个项目的 .MongodbReleaseName(假设这是一个字段)。该值被分配给 。而在范围内,因此您可以简单地引用各个值的字段/功能。这很像其他模板语言中的 for 循环。您还可以通过分配索引和值来使用它。

关于kubernetes - 在 go Helm 图表模板中循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47762628/

相关文章:

kubernetes - Kubernetes 中如何让服务 TCP/UDP 端口可被外部访问?

azure devops 发布管道在 kubectl apply 上不断失败?

kubernetes - 选择哪一个(PVC & ConfigMap)

.net - 如何从 kubernetes 部署配置文件中的 helm 获取运行时设置以覆盖 asp.net 中的 appsettings

kubernetes - Helm - Configmap - 只替换文件的内容而不是文件名

kubernetes - Helm 依赖安装顺序

amazon-web-services - 如何获取 EKS 集群的 URL?

kubernetes - 在Ubuntu 16.04上运行 `helm init`命令时,禁止deployments.extensions错误

azure - k8s 使用来自不同命名空间的 secret

PostgreSQL bitnami Helm Chart 不更新用户密码