如何在Helm for Kubernetes中循环不同的模板?

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

我想部署具有不同图像,端口等的多个Pod部署,但具有非常相似的其他属性。所以我想声明一个看起来像这样的deployment.yaml文件

{{- range .Values.types }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
...
{{- end }}

我的values.yaml在哪里

types:
  - foo
  - bar
  - baz

但是,当我helm install时,这只会导致单个Kubernetes部署,因为所有内容都在一个模板文件中。关于如何做到这一点的任何想法?

kubernetes kubernetes-helm
1个回答
3
投票

Kubernetes通常使用YAML语法,并允许多个“文档”位于单个物理文件中,并在每个文档之前使用---分隔符。反过来,Helm通常通过应用模板来生成纯文本文件并实际上将其提供给kubectl apply

这样做的结果是,如果您使用---文档开头分隔符启动每个Kubernetes对象描述,它应该工作:

{{- range .Values.types }}
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
...
{{- end }}
© www.soinside.com 2019 - 2024. All rights reserved.