本文介绍了Helm:&Quot;模板&Quot;关键字的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
谁能向我解释一下关键字&模板&在此代码中的作用:
apiVersion: v1
kind: Secret
metadata:
name: {{ template "identity-openidconnect" . }}
namespace: {{ .Release.Namespace }}
labels:
app: {{ template "microService.name" . }}
release: "{{ .Release.Name }}"
xxxx
xxxxxxxxxxxx
推荐答案
关键字&模板&表示Helm将找到之前创建的模板,并根据模板中的模板完成Yaml文件。它必须事先创建。此类型的构造允许您多次引用同一方案。
例如,我们可以定义一个模板来封装Kubernetes标签块:
{{- define "mychart.labels" }}
labels:
generator: helm
date: {{ now | htmlDate }}
{{- end }}
现在我们可以将此模板嵌入到现有的ConfigMap中,然后通过template
操作将其包括在内:
{{- define "mychart.labels" }}
labels:
generator: helm
date: {{ now | htmlDate }}
{{- end }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-configmap
{{- template "mychart.labels" }}
data:
myvalue: "Hello World"
{{- range $key, $val := .Values.favorite }}
{{ $key }}: {{ $val | quote }}
{{- end }}
当模板引擎读取该文件时,它将存储对mychart.labels
的引用,直到template "mychart.labels"
被调用。然后它将以内联方式呈现该模板。因此结果将如下所示:
# Source: mychart/templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: running-panda-configmap
labels:
generator: helm
date: 2016-11-02
data:
myvalue: "Hello World"
drink: "coffee"
food: "pizza"
注意:Adefine
不会生成输出,除非使用模板调用它,如本例所示。
有关templates
的更多信息,请阅读this page。
这篇关于Helm:&Quot;模板&Quot;关键字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!