Развертывание одним чартом
Contents
Развертывание одним чартом#
Вы можете развернуть кластер Системы Global из одного чарта, поместив в него и простраснтво имен gs-ctk, и конфигурационный ресурс. Для этого:
Создайте чарт при помощи команды
helm create
.Добавьте в папку
charts
наш чарт gs-ctk из дистрибутива nsctlОчистите папку
templates
и добавьте ваш конфигурационный файл. Вы можете шаблонизировать его, например, выделив параметры комплекта приложений для удобства или для автоматической их подстановки вашим CI/CD-скриптом.Добавьте в values.yaml параметры развертывания gs-ctk, например:
gs-ctk: imageRepository: "docker-register.net" imagePullSecret: "docker-secret" systemVolume: nfs: server: "10.10.0.1" path: /export(venv)
У вас должен получиться следующий чарт:
my-chart ├── charts │ └── gs-ctk │ ├── Chart.yaml │ └── ... ├── Chart.yaml ├── templates │ └── globalconfigurations.yaml └── values.yaml
Создайте и разверните секреты в вашем кластере, или воспользуйтесь одним из решений ниже.
Разверните его при помощи команды:
helm --install upgrade my-release .
Весь кластер развернут из одного чарта при помощи одной команды Helm!
Управление секретами#
Созданный нами чарт сейчас не разворачивает секреты автоматически. Этот вопрос умышленно выведен из рассмотрения в инструкции выше, поскольку вопрос хранения секретов сложный.
Есть несколько способов автоматизировать развертывание секретов:
Сделать шаблоны секретов и передавать значения через Helm. Это допустимый вариант, если секреты внедряются в надежном месте (то есть, например, не хранятся в values.yaml открыто).
Использовать helm-secrets и sops для хранения и подстановки секретов.
Использовать Sealed Secrets, External Secrets или другой оператор для Kubernetes, который забирает на себя задачу непосредственного развертывания секретов.
Напоминаем, что хранение секретов в открытом виде вместе с самим чартом крайне опасно.