【发布时间】:2022-08-03 01:06:19
【问题描述】:
我正在寻求帮助来创建可以支持多种服务的通用 configmap.yaml。
values.yaml(这工作)
value1: val1
genericConfigMapProperties:
application.properties: |-
prop1=prop1value
prop2=prop2value
configmap.yaml
apiVersion: 1
kind: ConfigMap
...
...
data:
{{ (toYaml .Values.genericConfigMapProperties) . | ident 4 }}
模板{{ (toYaml .Values.genericConfigMapProperties) . | ident 4 }} 几乎是完美的。它正确呈现application.properties:
data:
application.properties: |-
prop1=prop1value
prop2=prop2value
values.yaml(这不起作用)
value1: val1
genericConfigMapProperties:
cmValue1: {{ .Values.value1 | default \"default val1\" | quote }}
application.properties: |-
prop1=prop1value
prop2=prop2value
呈现cmValue1 时出现错误。我期待这个答案:
data:
cmValue1: val1
application.properties: |-
prop1=prop1value
prop2=prop2value
错误:
Error: failed to parse values.yaml: error converting YAML to JSON: yaml: invalid map key: map[interface {}]interface {}{\".Values.value1 | default \\\"default val1\\\" | quote\":interface {}(nill)}
helm.go:88: [debug] error converting YAML to JSON: yaml: invalid map key: map[interface {}]interface {}{\".Values.value1 | default \\\"default val1\\\" | quote\":interface {}(nill)}
failed to parse values.yaml
我还需要哪些额外的 helm 模板代码来支持 cmValue1 渲染?
谢谢你。
-
为什么不能将此内容写入
templates/configmap.yml;为什么通过 Helm 值不仅指定配置而且指定实际逻辑的间接路径?