Templates 无法从helm subchart中找到全局值
这是我第一次使用嵌套的Helm图表,我正在尝试从root values.yaml文件访问全局值。我应该能够在我的Templates 无法从helm subchart中找到全局值,templates,kubernetes-helm,Templates,Kubernetes Helm,这是我第一次使用嵌套的Helm图表,我正在尝试从root values.yaml文件访问全局值。我应该能够在我的secret.yaml文件中使用下面的语法,但是如果我运行helmtemplateapi--debug我会得到以下错误: 错误:template:api/templates/secret.yaml:7:21:在:nil指针处执行“api/templates/secret.yaml”计算接口{}.sa_json helm.go:84:[debug]template:api/templat
secret.yaml
文件中使用下面的语法,但是如果我运行helmtemplateapi--debug
我会得到以下错误:
错误:template:api/templates/secret.yaml:7:21:在:nil指针处执行“api/templates/secret.yaml”计算接口{}.sa_json
helm.go:84:[debug]template:api/templates/secret.yaml:7:21:在:nil指针处执行“api/templates/secret.yaml”,计算接口{}.sa_json
/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 }}
global:
sa_json: _b64_sa_credentials
primaryChart/values.yaml
apiVersion: v1
kind: Secret
metadata:
name: {{ .Chart.Name }}-service-account-secret
type: Opaque
data:
sa_json: {{ .Values.global.sa_json }}
global:
sa_json: _b64_sa_credentials
文件夹结构如下:
/primaryChart
|- values.yaml
|-- /charts
|-- /api
|-- /templates
|- secret.yaml
使用以下目录布局,
.Values.global.sa_json
仅在从主图表调用helm template api时可用。
/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
很抱歉,'value.yaml'只是一个输入错误,文件名为'values.yaml'。还有一个快速更正:我尝试从主图表目录运行
helm template api
,我需要指定charts/api
,以便让它运行(它返回一个错误,说下载“api”失败)(提示:运行“helm repo update”可能会有所帮助)
。不幸的是,在运行helm template charts/api
之后,我仍然从原始帖子中得到错误。@NealR您需要指定主图表位置,该位置等于
(点)因为这就是您的values.yaml
文件和global.sa_json
是-helm模板的地方。
,当您指定图表/api
位置时,此图表不知道它是一个子图表,并且必须查看其正确位置之外的其他值文件