首页 > 解决方案 > Heml 检查 If nil 指针

问题描述

在我部署应用程序的模板中,我有以下内容:

{{- if .Values.application.rbac.enabled -}}
  serviceAccountName: service-account-cache
{{- else -}}

{{- end -}}

关键是这样的文件是动态使用的,我的意思是,我有几个使用这些文件的微服务,但是当我使用时算法:

helm upgrade --install ${releaseName} -f ../folder/secrets/${env.appId}.yaml

根据微服务,它还添加了不同的 -f yaml 文件。他们中的一些人有

application:
  rbac:
    enabled: true

但另一个没有。

在那些没有此类附加属性的人中,我有以下错误:

<.Values.application.rbac.enabled>: nil pointer evaluating interface {}.enabled

因为 Values.application.rbac 当然没有定义。

我怎样才能做到这一点,如果它没有被定义,不做 if 但没有出现 nil 指针?

提前致谢

标签: deploymentnullpointerexceptionnullkubernetes-helm

解决方案


推荐阅读