如何在 helm 中为子图表引用自定义值文件?

How to reference a custom value file for sub-charts in helm?

参考helm sub chart documentation我一直在实现helm sub-chart。根据文档,它对我有用。这适用于默认值文件。但是当我尝试引用我自己的值文件时,这些值不在 configmap 中。 我的值文件是 values.staging.yaml.

例如:-

config.yaml 在我的子图中

apiVersion: v1
kind: ConfigMap
metadata:
    name: {{ .Release.Name }}-configmap
data:
    salad: {{ .Values.dessert }}

values.staging.yaml 在我的子图中

dessert: banana

values.yaml 在我的子图中

dessert: cake

仅 'cake' 被引用为值。我需要引用香蕉作为值。

我试过以下命令。

  1. helm install --dry-运行 --debug mychart --values mychart/charts/mysubchart/values.staging.yaml
  2. helm install --dry-运行 --debug --name mychart mychart -f mychart/charts/mysubchart/values.staging.yaml
  3. helm install --name mychart mychart -f mychart/charts/mysubchart/values.staging.yaml

在每个实例中,configmap 都不引用 values.staging.yaml 中的值。

有办法吗?

谢谢.!

如您的 link 中的 Overriding Values of a Child Chart 所述,您需要将子图表值包装在与子图表名称匹配的键中。

您通过 helm install -f 传递的任何值文件始终在顶层解释,即使它物理上位于子图的目录中。一个典型的值文件看起来像

mysubchart:
  dessert: banana