繁体   English   中英

Helm 2.x - 使用子图作为模板

[英]Helm 2.x - use subchart as template

根据 requirements.yaml 的子图,模板被渲染。 我知道我可以使用别名来拥有子图的多个副本,但是有没有一种方法可以防止子图默认呈现,而是作为模板included ,如下所示:

{{- $root := . }}

{{- range $i, $service := .Values.services }}
---
{{ $k8sDeployment := (include "MY_SUBCHART_NAME" (dict "top" $root "deployment" $service)) | fromYaml }}
{{ include "deployment"  (dict "top" $root "deployment" $k8sDeployment) }}
---
{{ $k8sService := (include "MY_SUBCHART_NAME2" $service) | fromYaml }}
{{ include "service" (dict "top" $root "service" $k8sService) }}
{{- end -}}

不,没有办法做到这一点。 Helm 依赖项(在 Helm 2 和 Helm 3 中)仅作为以相同 Helm 版本名称安装在集群中的东西工作。 如果不使用后渲染器之类的东西来操作生成的 YAML,就无法仅包含依赖关系图表的一部分或重新包含其具有不同参数的 Kube.netes 对象。

可以想象子图专门设计为以这种方式使用。 子图表必须提供您尝试调用的模板,其templates/*.yaml文件将在if块内调用具有标准值的模板,然后您的父图表可能依赖于具有禁用值的子图表它是正常的 output。不过,大多数图表不是以这种方式构建的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM