掌舵私人价值观

Helm private values

我只是谷歌搜索找不到任何东西,Helm 是否支持私有值?

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


privateProp: hello

publicProp: world

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

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

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

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

我怎样才能做到这一点?

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

您可以创建一个名为 _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