Helm 模板写法备忘录

使用helm模板自定义变量,来控制某些模块的渲染时,

比如这个,

externalsecret:
  envFrom: true

常规的模板语法是

          {{- if .Values.externalsecret.envFrom  }}
          envFrom:
          - secretRef:
              name: {{ .Values.applicationName }}-ssmsecrets
          {{- end }}

但是在其他共用模板中如果没写这个变量就会获得这个报错

Error: template: microservice/templates/deployment.yaml:56:24: executing "microservice/templates/deployment.yaml" at <.Values.externalsecret.envFrom>: nil pointer evaluating interface {}.envFrom

使用以下写法可以兼容未定义这个变量的写法

          {{- if ((.Values.externalsecret).envFrom)  }}
          envFrom:
          - secretRef:
              name: {{ .Values.applicationName }}-ssmsecrets
          {{- end }}
posted @ 2025-05-13 12:29  li66  阅读(26)  评论(0)    收藏  举报