kubernetes 在基础图表中覆盖子图表模板

ghg1uchk  于 2023-10-17  发布在  Kubernetes
关注(0)|答案(1)|浏览(86)

我的应用程序图表(A)依赖于一些通用图表(B)
我需要从我的应用程序图表(A)覆盖子图表(B)的部署模板
我尝试从子聊天复制并粘贴到父图表,并进行如下修改:

A/
├── Chart.yaml
├── charts
│   └── B-1.0.0.tgz
├── templates
│   └── deployment.yaml
└── values.yaml

但它以重复的部署结束,一个具有原始结构(来自B),另一个具有修改后的结构(在A中)。
我读了Charts and Global values,但找不到解决问题的方法。

pengsaosao

pengsaosao1#

不知道这个答案是否符合你的要求,但我发现我的子图使用了_helpers.yaml文件中定义的模板生成的图像。此模板可以使用父图表的_helpers.yaml文件简单覆盖。
只需创建一个同名的新模板。
例如,子图有charts/mysubchart/templates/_helpers.yaml

{{- define "mysubchart.image" -}}
  {{- printf "%s:%s" .Values.image.repository .Values.image.tag -}}
{{- end }}

您可以创建templates/_helpers.yaml

{{- define "mysubchart.image" -}}
  {{- .Values.global.someCustomValue}}
{{- end }}

因此,使用--set global.someCustomValue=alpine@sha256:eece025e432126ce23f223450a0326fbebde39cdf496a85d8c016293fc851978部署图表
将覆盖子图中的默认图像

相关问题