Различные конфигурации развертывания с использованием Helm - PullRequest
0 голосов
/ 06 марта 2019

Я хотел бы иметь немного другую конфигурацию развертывания в разных средах.То есть, в Prod и Ver я не хочу, чтобы все контейнеры были развернуты.

С помощью docker-compose мы решаем это, создавая добавочные файлы docker-compose, которые мы объединяем, например: docker-compose up -f docker-compose.yml -f docker-compose-prod.yml

Как это можно сделать, используя диаграммы Хелма?У нас есть структура с Chart.yaml и values.yaml вверху, а затем один файл yaml на контейнер в подпапке.Наивным решением было бы скопировать эту структуру и исключить некоторые файлы диаграмм, но я бы предпочел иметь только один файл (максимум один файл!) Для каждой службы.

Мы развертываем в AKS с использованием CircleCI.

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

РЕДАКТИРОВАТЬ:

kubectl имеет возможность использовать селекторы, такие как kubectl create cfg.yaml --selector=tier=frontend или kubectl create cfg.yaml --selector=environment=prod и я уже помечаю свои контейнеры, так что это было бы просто.Но helm install не имеет возможности принять аналогичный флаг и передать его kubectl.

1 Ответ

2 голосов
/ 06 марта 2019

просто создайте один файл значений для каждой среды и нацеливайте их на:

helm install . -f values.production.yaml
helm install . -f values.development.yaml

вы можете использовать условие для переключения развертываний, представьте, что у вас есть что-то, yaml, который вы хотите условно развернуть:

{{ if .Values.something}}
something.yaml original content goes here
{{ end }}
...