kubernetes 生成图表时,helm值中传递的数组没有数组分隔符

t3irkdon  于 2023-08-03  发布在  Kubernetes
关注(0)|答案(1)|浏览(140)

我有一个configmap模板,看起来像这样:

apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ .Values.configmap.name }}
data:
  config.yaml: |-
{{ tpl .Values.configmap.template . | indent 4 }}

字符串
这是我在图表中使用它的方式:

# values.config.yaml
configmap:
  name: "some-name"
  template: |-
    list: {{ .Values.config.list }}
---
# values.yaml
config:
  list: [7, 8]


使用此命令构建图表时:helm template -f values.yaml -f values.config.yaml app .生成的值没有正确生成。
看看这个构建的图表:

apiVersion: v1
kind: ConfigMap
metadata:
  name: "some-name"
data:
  config.yaml: |-
    list: [7 8]


正如你所看到的,这个列表没有任何分隔符
你知道为什么在这种情况下分离器会丢失吗?

31moq8wy

31moq8wy1#

我认为出现这个问题是因为helm正在将它们转换为字符串,因为它们在字符串中使用。
我是这样解决这个问题的:

list: [{{- join ", " .Values.config.list }}]

字符串
如果列表为空,则为:list: []
如果不是,它将是一个由,分隔的列表。
举例来说:list: [1, 2, 3]

相关问题