helm 覆盖基础图表中的子图表模板

问题描述 投票:0回答:1

我的应用程序图表 (A) 取决于某些通用图表 (B)

我需要从我的应用程序图表(A)覆盖子图表(B)的部署模板

我尝试从子聊天复制并粘贴到父图表,并进行如下修改:

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

但是它会以重复部署结束,其中一个使用原始结构(来自 B),另一个使用修改后的结构(在 A 中)。

我已阅读图表和全局值,但找不到解决问题的方法。

kubernetes kubernetes-helm
1个回答
0
投票

不确定这个答案是否符合您的要求,但我发现我的子图使用使用其

_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.someCustomValue -}}
{{- end }}

因此使用

--set someCustomValue=alpine@sha256:eece025e432126ce23f223450a0326fbebde39cdf496a85d8c016293fc851978

部署图表

将覆盖子图中的默认图像

© www.soinside.com 2019 - 2024. All rights reserved.