Helm 条件模板

Edu*_*rdo 14 kubernetes kubernetes-helm

我发现我们可以创建子图表并有条件地包含它们,如下所述:Helm conditionally install subchart

我只有一个模板,我想有条件地将其包含在我的图表中,但我在文档中找不到任何内容。有这样的功能吗?

Edu*_*rdo 19

我发现未加载空模板。我通过将我的 yaml 文件内容包装在一个if条件中来解决它。

{{ if .Values.something }}
content of yaml file
{{ end }}
Run Code Online (Sandbox Code Playgroud)

  • 根据 [helm 文档](https://helm.sh/docs/chart_template_guide/control_structs/),_如果值为 nil(空或 null),_a pipeline 将被评估为 false_ @Kiran (2认同)

Utk*_*mir 13

您只需在第一行和最后一行用您想要执行的检查包装模板资源。我们以官方的Grafana图表为例:

在它的 中values.yaml,它有一个名为的标志ingress.enabled,如下所示:

ingress:
  enabled: false
Run Code Online (Sandbox Code Playgroud)

然后在其入口模板资源中,检查此标志:

{{- if .Values.ingress.enabled -}}
...
apiVersion: extensions/v1beta1
kind: Ingress
...
{{- end }}
Run Code Online (Sandbox Code Playgroud)

因此,只有在ingress.enabled设置为 true 时才会创建入口对象。