Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为Kubernetes在Helm中循环不同的模板?_Kubernetes_Kubernetes Helm - Fatal编程技术网

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

如何为Kubernetes在Helm中循环不同的模板?,kubernetes,kubernetes-helm,Kubernetes,Kubernetes Helm,我想使用不同的映像、端口等部署多个POD,但其他属性非常相似。所以我想声明一个deployment.yaml文件,它看起来像这样 {{- range .Values.types }} apiVersion: extensions/v1beta1 kind: Deployment metadata: ... {{- end }} 其中myvalues.yaml为 types: - foo - bar - baz 但是,当Ihelm install时,这只会增加一个Kubernet

我想使用不同的映像、端口等部署多个POD,但其他属性非常相似。所以我想声明一个
deployment.yaml
文件,它看起来像这样

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

其中my
values.yaml

types:
  - foo
  - bar
  - baz

但是,当I
helm install
时,这只会增加一个Kubernetes部署,因为所有内容都在一个模板文件中。关于如何做到这一点有什么想法吗?

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

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

{{- range .Values.types }}
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
...
{{- end }}
可能重复的