代码之家  ›  专栏  ›  技术社区  ›  NealR

无法从helm subchart中找到全局值

  •  0
  • NealR  · 技术社区  · 5 年前

    这是我第一次使用嵌套的Helm图表,我正在尝试从根值访问全局值。yaml文件。 According to the documentation 我应该能够在我的应用程序中使用下面的语法 secret.yaml 文件,但是如果我运行 helm template api --debug 我得到以下错误:

    错误:模板:api/templates/secret。yaml:7:21:在<处执行“api/templates/secret.yaml”;。价值观全球的sa_json>:计算接口{}的零指针。萨乌json 掌舵。转到:84:[调试]模板:api/templates/secret。yaml:7:21:在<处执行“api/templates/secret.yaml”;。价值观全球的sa_json>:计算接口{}的零指针。萨乌json

    /primaryChart/charts/api/templates/secret。亚马尔

    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
    
    0 回复  |  直到 5 年前
        1
  •  1
  •   edbighead    5 年前

    具有以下目录布局, .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
    

    你的 values file 应该叫 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_credentials