我有这个模板:
{{- $service_port := 1010 }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $.Values.name }}
data:
{{- range $key, $val := .Values.configmap }}
{{- if contains "<ServicePort>" $val }}
{{ $key }}: '{{ $val | replace "<ServicePort>" {{ $service_port }} }}'
我需要将其替换为文件开头定义的
service_port
。我怎样才能做到这一点。上面的代码似乎不起作用。
这对我有用。它将所有
serviceName
令牌替换为真实服务名称。
appSettings: |
{{ $name := include "myService.fullname" . }}
<appSettings>
{{- $root := . }}
{{- range $key, $value := .Values.appSettings }}
<add key={{ $key | quote }} value={{ $value | quote | replace "#{serviceName}#" $name }} />
{{- end }}
</appSettings>
重要的部分是替换功能被用作最后一个。在它最终起作用之前,我尝试在引用函数之前使用替换。