我想部署具有不同图像,端口等的多个Pod部署,但具有非常相似的其他属性。所以我想声明一个看起来像这样的deployment.yaml
文件
{{- range .Values.types }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
...
{{- end }}
我的values.yaml
在哪里
types:
- foo
- bar
- baz
但是,当我helm install
时,这只会导致单个Kubernetes部署,因为所有内容都在一个模板文件中。关于如何做到这一点的任何想法?
Kubernetes通常使用YAML语法,并允许多个“文档”位于单个物理文件中,并在每个文档之前使用---
分隔符。反过来,Helm通常通过应用模板来生成纯文本文件并实际上将其提供给kubectl apply
。
这样做的结果是,如果您使用---
文档开头分隔符启动每个Kubernetes对象描述,它应该工作:
{{- range .Values.types }}
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
...
{{- end }}