Установка в Kubernetes
Требования
- Установленный в кластере ingress-контроллер, например Nginx Ingress Controller
- Настроенный поставщик Persistent Volumes
- Наличие Kubectl
- Наличие Helm
Состав поставки
- Содержимое сборки:
testit_backend/
— Helm-чарт для внутреннего интерфейса (backend)testit_frontend/
— Helm-чарт для внешнего интерфейса (frontend)scripts/
— папка, содержащая вспомогательные скриптыjobs/
— папка, содержащая вспомогательные объекты K8s
- Содержимое чарта:
templates/
— шаблон манифеста K8sChart.yaml
— основной конфигурационный файл чартаvalues.yaml
— настройки и переменные базовых шаблоновvalues-override.yaml
— файл переопределения настроек и переменных шаблонаvalues-ssl.yaml
— пример переопределения для включения внутреннего SSL
Установка приложения
- Перед установкой проверьте наличие файла
values.yaml
в helm-чартахtestit_backend
иtestit_frontend
. - В случае необходимости переназначьте переменные в файле
values-override.yaml
, используя такие же отступы и иерархию, что и в файлеvalues.yaml
. В случае переопределения переменных добавьте флаг-f values-override.yaml
во все команды helm, как показано в примере ниже. - Распакуйте файлы приложений с помощью команды:
unzip <testit_archive_name> -d <destination_folder>
- Установите приложение с помощью команды:
cd ~/testit # Установите приложения бэкенда. helm upgrade --install -f testit_backend/values-override.yaml -n <namespace> --create-namespace testit-backend testit_backend/ # Дождитесь начала работы всех модулей бэкенда. watch -n 1 kubectl -n <namespace> get pods # Установите внешний интерфейс (фронтенд). helm upgrade --install -f testit_frontend/values-override.yaml -n <namespace> --create-namespace testit-frontend testit_frontend/ # Дождитесь начала работы всех модулей внешнего интерфейса watch -n 1 kubectl -n <namespace> get pods -l app=frontend
- Перейдите в приложение, используя адрес, указанный в
.Values.ingress.host
вtestit_frontend/values.yaml
илиtestit_frontend/values-override.yaml
:# testit_frontend/values.yaml или testit_frontend/values-override.yaml ingress: host: "my-testit.example.com"