Как зациклить разные шаблоны в Helm для Kubernetes? - PullRequest
0 голосов
/ 14 марта 2019

Я хочу развернуть несколько развертываний модулей с разными образами, портами и т. Д., Но с очень похожими другими свойствами. Поэтому я хочу объявить один deployment.yaml файл, который выглядит примерно так

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

Где мой values.yaml

types:
  - foo
  - bar
  - baz

Однако это раскручивает только одно развертывание Kubernetes, когда я helm install, потому что все находится в одном файле шаблона. Есть идеи как это сделать?

1 Ответ

3 голосов
/ 14 марта 2019

В Kubernetes обычно используется синтаксис YAML, и это позволяет нескольким «документам» находиться в одном физическом файле с разделителем --- перед каждым.Helm, в свою очередь, обычно работает, применяя шаблон для создания простого текстового файла и фактически передавая его в kubectl apply.

. В результате вы начинаете описание каждого объекта Kubernetes с ---разделитель начала документа, он должен работать:

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