这是我第一次使用嵌套Helm图表,我试图从根values.yaml文件中访问一个全局值。根据文件我应该能够在我的secret.yaml文件中使用下面的语法,但是如果我运行helm template api --debug,我会得到以下错误:
错误:<.Values.global.sa_json>:nil指针评估接口{}.sa_json helm.go:84: debug模板:api/.sa_json/分泌.debug:7:21:在<.Values.global.sa_json>:nil指针评估接口{}.sa_json上执行“api/模板/分泌.debug”
/primaryChart/charts/api/templates/secret.yaml
apiVersion: v1
kind: Secret
metadata:
name: {{ .Chart.Name }}-service-account-secret
type: Opaque
data:
sa_json: {{ .Values.global.sa_json }}primaryChart/values.yaml
global:
sa_json: _b64_sa_credentials文件夹结构如下:
/primaryChart
|- values.yaml
|-- /charts
|-- /api
|-- /templates
|- secret.yaml发布于 2020-07-07 13:56:41
具有以下目录布局,只有在从主图表调用.Values.global.sa_json时才可用
/mnt/c/home/primaryChart> tree
.
├── Chart.yaml <-- your main chart
├── charts
│ └── api
│ ├── Chart.yaml <-- your subchart
│ ├── charts
│ ├── templates
│ │ └── secrets.yaml
│ └── values.yaml
├── templates
└── values.yaml <--- this is where your global.sa_json is defined您的值文件应该被称为values.yaml而不是value.yaml,或者使用带有-f标志helm template api . -f value.yaml的任何其他文件。
/mnt/c/home/primaryChart> helm template api .
---
# Source: primaryChart/charts/api/templates/secrets.yaml
apiVersion: v1
kind: Secret
metadata:
name: api-service-account-secret
type: Opaque
data:
sa_json: _b64_sa_credentialshttps://stackoverflow.com/questions/62764118
复制相似问题