测试 values.yaml 中定义的 helm 元素是否存在
Testing the existence of helm element defined in values.yaml
我是 helm 的新手,目前遇到一种情况,我需要测试 values.yaml 中定义的 2 个参数是否存在,如果存在,则使用 sample.yaml 中相同的值.
注意 - 这肯定是其中之一。
例如:
我正在测试这两个值:
1 - {{ .Values.probes.xyz.readiness.initialDelaySeconds }}
2 - {{ .Values.readiness.xyz.initialDelaySeconds }}
并且在 sample.yaml 中,我必须根据存在实现上述参数之一:
initialDelaySeconds: <one of the above values needs to be implemented based on the existence>
我知道这是一个简单的 if else
条件,但我无法实现。
任何帮助将不胜感激。
{{- if .Values.probes.xyz.readiness.initialDelaySeconds }}
initialDelaySeconds: {{ .Values.probes.xyz.readiness.initialDelaySeconds }}
{{ else if .Values.readiness.xyz.initialDelaySeconds }}
initialDelaySeconds: {{ .Values.readiness.xyz.initialDelaySeconds }}
{{- end }}
对于您希望在设置时使用某些值而在未设置时使用其他值的逻辑,Helm default
函数通常是一个很好的匹配。
{{- $v1 := .Values.probes.xyz.readiness.initialDelaySeconds }}
{{- $v2 := .Values.readiness.xyz.initialDelaySeconds }}
initialDelaySeconds: {{ $v1 | default $v2 }}
如果您有多个这样的设置,您还可以merge
将两个值项字典放在一起。
{{- $readiness := merge dict .Values.probes.xyz.readiness .Values.readiness.xyz }}
initialDelaySeconds: {{ $readiness.initialDelaySeconds }}
我是 helm 的新手,目前遇到一种情况,我需要测试 values.yaml 中定义的 2 个参数是否存在,如果存在,则使用 sample.yaml 中相同的值.
注意 - 这肯定是其中之一。
例如:
我正在测试这两个值:
1 - {{ .Values.probes.xyz.readiness.initialDelaySeconds }}
2 - {{ .Values.readiness.xyz.initialDelaySeconds }}
并且在 sample.yaml 中,我必须根据存在实现上述参数之一:
initialDelaySeconds: <one of the above values needs to be implemented based on the existence>
我知道这是一个简单的 if else
条件,但我无法实现。
任何帮助将不胜感激。
{{- if .Values.probes.xyz.readiness.initialDelaySeconds }}
initialDelaySeconds: {{ .Values.probes.xyz.readiness.initialDelaySeconds }}
{{ else if .Values.readiness.xyz.initialDelaySeconds }}
initialDelaySeconds: {{ .Values.readiness.xyz.initialDelaySeconds }}
{{- end }}
对于您希望在设置时使用某些值而在未设置时使用其他值的逻辑,Helm default
函数通常是一个很好的匹配。
{{- $v1 := .Values.probes.xyz.readiness.initialDelaySeconds }}
{{- $v2 := .Values.readiness.xyz.initialDelaySeconds }}
initialDelaySeconds: {{ $v1 | default $v2 }}
如果您有多个这样的设置,您还可以merge
将两个值项字典放在一起。
{{- $readiness := merge dict .Values.probes.xyz.readiness .Values.readiness.xyz }}
initialDelaySeconds: {{ $readiness.initialDelaySeconds }}