如何遍历无命名Helm values.yaml对象数组?解决解析报错问题
问题解决方法
错误原因
Helm要求values.yaml的根结构必须是键值对对象(map),不能直接是数组。你当前的values.yaml根层级是数组,导致Helm无法将其解析为预期的lib.ValuesObj类型,从而抛出解码错误。
修复步骤
- 调整values.yaml结构
将数组嵌套到一个自定义键(比如applications)下,让根结构成为对象:
# values.yaml applications: - ns: "test-ns" app: "test-app" - ns: "test-ns" app: "test-app-2"
- 修改Helm模板的遍历逻辑
在模板中指定遍历.Values下的对应键(即applications):
# helm template {{- range $index, $app := .Values.applications }} namespace: {{ $app.ns }} application: {{ $app.app }} {{- end }}
这样调整后,Helm就能正确解析values配置,模板也能正常遍历数组中的每个对象了。
内容的提问来源于stack exchange,提问作者Shravan C
相关产品推荐
相关产品推荐

