You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过遍历Helm嵌套values批量创建K8s ConfigMap

解决方法

问题原因

  • 现有代码遍历map时仅取值未取键,无法获取config0/config1这类标识名拼接ConfigMap名称
  • 多资源之间未添加YAML文档分隔符---,导致Kubernetes将所有生成内容识别为同一个资源,最终仅保留最后一项的配置

修正后的模板代码

{{- range $key, $Mydata := $.Values.data.appdata }}
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ template "app" $ }}-{{ $key }}
  labels:
    {{- include "app.labels" $ | nindent 4 }}
data:
  url: {{ $Mydata.url | quote }}
  port: {{ $Mydata.port | quote }}
{{- end }}

代码说明

  • 遍历map时改用range $key, $value := 字典的写法,同时拿到子项的键名和对应值
  • 每次迭代开头添加---分隔符,生成独立的YAML资源
  • 名称拼接使用{{ template "app" $ }}-{{ $key }},符合要求的动态名称规则
  • 额外增加quote过滤器,避免特殊字符导致YAML格式错误,labels部分补全了通用的Helm标签生成逻辑,不需要可直接删除

内容的提问来源于stack exchange,提问作者centurions

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 21:24:04