掌舵私有值

时间:2021-06-29 02:03:15

标签: kubernetes kubernetes-helm

我通过谷歌搜索找不到任何东西,Helm 支持私有值吗?

所以我有我的图表和values.yaml


privateProp: hello

publicProp: world

我有一些我想向图表的最终用户公开的值,还有一些我不想要的值,但是这些“私有”值在很多地方都被使用。

例如:publicProps 可被图表用户覆盖,但我想阻止对 privateProp 的访问,但它在许多地方重复使用:

containers:
  name: {{.Values.privateProp}}
nodeSelector:
  name: {{.Values.privateProp}}

我看到有 {{$privateProp := "hello"}},但不清楚如何在文件的其他地方访问它

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

好的,我找到了解决问题的方法。

您可以创建一个名为 _variables.tpl 的文件,名称无所谓

然后声明一个变量:

{{- define "privateProp" -}}
{{- print "hello" -}}
{{- end -}}

然后您可以通过执行以下操作在图表中的任何位置使用它:

    spec:
      containers:
        - name: {{ .Values.dashboard.containers.name }}
          image: {{ .Values.dashboard.containers.image.repository }}:{{ .Values.dashboard.containers.image.tag }}
          imagePullPolicy: Always
          ports:
            - containerPort: {{ include "privateProp" . }} # <== This