Templates 无法从helm subchart中找到全局值

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

这是我第一次使用嵌套的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/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
位置时,此图表不知道它是一个子图表,并且必须查看其正确位置之外的其他值文件