include
和toyaml
具有相同的功能。推荐哪个?
我的 Helm 版本
$ helm version --short
v3.12.0+gc9f554d
include
deployment.yaml
{{- include "template.resources" . | nindent 8 }}
_helpers.tpl
{{/*
resources
*/}}
{{- define "template.resources" -}}
resources:
limits:
memory: {{ .Values.resources.limits.memory}}
cpu: {{ .Values.resources.limits.cpu}}
requests:
memory: {{ .Values.resources.requests.memory}}
cpu: {{ .Values.resources.requests.memory}}
{{- end }}
values.yaml
resources:
limits:
memory: 512Mi
cpu: "1"
requests:
memory: 256Mi
cpu: "0.2"
toyaml
deployment.yaml
resources:
{{- toYaml .Values.resources | nindent 10 }}
values.yaml
resources:
limits:
memory: 512Mi
cpu: "1"
requests:
memory: 256Mi
cpu: "0.2"
1条答案
按热度按时间6ojccjat1#
**include:**允许包含一个模板,然后对该模板的输出执行操作,Helm有一个特殊的include函数(参见helm官方文档)。
**toYaml:**toYaml可用于从任何源(see offical helm docs)复制yaml的块。
例如,您可以转义点序列,这在图表使用toYaml函数解析注解、标签和节点选择器时可能会派上用场。
--set nodeSelector."kubernetes\.io/role"=master
的语法变为:relate topic: "helm templating with toYaml"