【发布时间】:2021-11-16 08:23:14
【问题描述】:
我创建了一个带有子图表的掌舵图表。
全局 helm 图表包含 values.yaml 和 values-int.yaml 文件。以及所有子图表。
这是结构:
- Global-helm-chart:
- values.yaml
- values-int.yaml
- sub-charts:
- chart-1:
- values.yaml
- value-int.yaml
- templates:
- configmap.yaml
- chart-2:
- values.yaml
- value-int.yaml
- templates:
- configmap.yaml
这是chart-1下的configmap.yaml(图2同理):
{{- $root := .Values -}}
{{ if eq .Values.global.env "int" }}
apiVersion: v1
kind: ConfigMap
metadata:
name: "{{ .Chart.Name }}-configuration"
data:
json: {{ $root.tickets | toJson | quote }}
{{ end }}
这是chart-1下的values-int.yaml:
tickets:
dynamicEvents:
topics:
- topic_name: "ai-recommendations-pending-for-review"
events:
- name: "PendingForReview"
parameters:
subject: "$.insightTypeId"
group_uid: "customer_care"
helm template . from the global chart 将打印出两个 configMaps,它们的值取自 global chart 的 values.yaml 和 values-int.yml,而 not 正如预期的那样来自chart-1和chart-2。
我希望 global-helm-chart 中的 helm 模板在 configMap 中显示 json: 的值,values-int.yaml 在 chart-1 下。
提前谢谢..
【问题讨论】:
-
您使用哪些选项来运行
helm template?我认为任何东西都不会读取sub-charts/chart1/values-int.yaml,除非您在-f选项中明确传递该文件名。 -
当然,我做的命令是:
helm template . -f values-int.yaml
标签: kubernetes kubernetes-helm