Kubernetes Helm-在values.yaml中模板化变量
我试图将values.yaml中的映射中的变量模板化为最终的Kubernetes ConfigMap yaml 我通读了一遍,但似乎找不到答案 在某些情况下,这大致就是我要做的: 值。yamlKubernetes Helm-在values.yaml中模板化变量,kubernetes,kubernetes-helm,templating,Kubernetes,Kubernetes Helm,Templating,我试图将values.yaml中的映射中的变量模板化为最终的Kubernetes ConfigMap yaml 我通读了一遍,但似乎找不到答案 在某些情况下,这大致就是我要做的: 值。yaml config: key1: value key2: value-{{ .Release.Name }} kind: ConfigMap data: config-file: | {{- range $key, $value := .Values.config }} {{ $k
config:
key1: value
key2: value-{{ .Release.Name }}
kind: ConfigMap
data:
config-file: |
{{- range $key, $value := .Values.config }}
{{ $key }} = {{ $value }}
{{- end }}
kind: ConfigMap
data:
config-file: |
{{- range $key, $value := .Values.config }}
{{ $key }} = {{ tpl ($value | toString) $ }}
{{- end }}
config:
key1: "value"
key2: "value-{{ .Release.Name }}"
kind: ConfigMap
data:
config-file: |
{{- range $key, $value := .Values.config }}
{{ $key }} = {{ tpl $value $ }}
{{- end }}
configmap.yaml
config:
key1: value
key2: value-{{ .Release.Name }}
kind: ConfigMap
data:
config-file: |
{{- range $key, $value := .Values.config }}
{{ $key }} = {{ $value }}
{{- end }}
kind: ConfigMap
data:
config-file: |
{{- range $key, $value := .Values.config }}
{{ $key }} = {{ tpl ($value | toString) $ }}
{{- end }}
config:
key1: "value"
key2: "value-{{ .Release.Name }}"
kind: ConfigMap
data:
config-file: |
{{- range $key, $value := .Values.config }}
{{ $key }} = {{ tpl $value $ }}
{{- end }}
其中所需的输出为:
头盔模板——名称v1 mychart/
kind: ConfigMap
data:
config-file: |
key1 = value
key2 = value-v1
我尝试了一些使用模板函数和管道的变体,但没有成功:
{{ $key }} = {{ tpl $value . }}
{{ $key }} = {{ $value | tpl . }}
{{ $key }} = {{ tpl $value $ }}
已使用以下语法设法解决此问题: configmap.yaml
config:
key1: value
key2: value-{{ .Release.Name }}
kind: ConfigMap
data:
config-file: |
{{- range $key, $value := .Values.config }}
{{ $key }} = {{ $value }}
{{- end }}
kind: ConfigMap
data:
config-file: |
{{- range $key, $value := .Values.config }}
{{ $key }} = {{ tpl ($value | toString) $ }}
{{- end }}
config:
key1: "value"
key2: "value-{{ .Release.Name }}"
kind: ConfigMap
data:
config-file: |
{{- range $key, $value := .Values.config }}
{{ $key }} = {{ tpl $value $ }}
{{- end }}
上述措施也会以这种方式发挥作用 值。yaml
config:
key1: value
key2: value-{{ .Release.Name }}
kind: ConfigMap
data:
config-file: |
{{- range $key, $value := .Values.config }}
{{ $key }} = {{ $value }}
{{- end }}
kind: ConfigMap
data:
config-file: |
{{- range $key, $value := .Values.config }}
{{ $key }} = {{ tpl ($value | toString) $ }}
{{- end }}
config:
key1: "value"
key2: "value-{{ .Release.Name }}"
kind: ConfigMap
data:
config-file: |
{{- range $key, $value := .Values.config }}
{{ $key }} = {{ tpl $value $ }}
{{- end }}
configmap.yaml
config:
key1: value
key2: value-{{ .Release.Name }}
kind: ConfigMap
data:
config-file: |
{{- range $key, $value := .Values.config }}
{{ $key }} = {{ $value }}
{{- end }}
kind: ConfigMap
data:
config-file: |
{{- range $key, $value := .Values.config }}
{{ $key }} = {{ tpl ($value | toString) $ }}
{{- end }}
config:
key1: "value"
key2: "value-{{ .Release.Name }}"
kind: ConfigMap
data:
config-file: |
{{- range $key, $value := .Values.config }}
{{ $key }} = {{ tpl $value $ }}
{{- end }}
我改变的是:我在value.yaml
中加了引号,并在配置图中使用了模板tpl
。关于这个话题有争论
我知道现在这是可能的,但这需要在内部维护图表(例如Amrut的答案)
让我们总结一下:
要在values.yaml
中使用模板,可以使用以下选项: