Подготовка окружения#
Подготовка окружения делится на 3 этапа: - загрузка/миграция всех настроек LUNA Vinder Module в сервис Configurator - загрузка дамп-файла с пользовательскими настройками LUNA Vinder Module с помощью утилиты Storages в сервис Configurator - создание базы данных для сервиса Projector
Убедитесь, что вы находитесь в рабочей директории с файлами Kubernetes:
cd /var/lib/luna/lvm-current/extras/k8s/
Необходимо задать следующие настройки в соответствии с пользовательской логикой:
storages/files/lvm_settings.json— дамп-файл, позволяющий переопределить дефолтные настройки с помощью командыload_dumpутилиты Storagesstorages/files/lvm_config.conf— служебный конфигурационный файл, необходимый для создания БД сервиса Projector и загрузки настроек. Содержит адрес сервиса Configurator и адрес Postgresstorages/files/storages_config.conf— настройки Storages, позволяющие утилите получить адрес Postgres для загрузки дамп-файлаstorages/overlays/<command_name>— команды для подготовки окружения
Подготовка окружения выполняется с помощью инструмента Kustomize без использования Helm. В файлах storages/base/base.yaml, storages/lvm/configs/base-configs.yaml, storages/lvm/db/base-db.yaml определены шаблоны, на которые накладываются слои из директории storages/overlays. Доступно 3 слоя:
prepare_configs_lvm- слой, отвечающий за загрузку/миграцию настроекload_dump_lvm- слой, отвечающий за загрузку пользовательского дамп-файла с помощью утилиты Storagesprepare_db_lvm- слой, отвечающий за создание БД для сервиса Projector
Для загрузки образа из регистри VisionLabs необходимо также заполнить параметр imagePullSecrets в манифестах storages/base/base.yaml, storages/lvm/configs/base-configs.yaml, storages/lvm/db/base-db.yaml (см. "Создание секрета для авторизации в реестре Docker" в разделе "Дополнительная информация").
Для подготовки окружения нужно выполнить следующие команды:
1) Создать Configmap для загрузки конфигурационного файла Storages, дамп-файла и служебного конфигурационного файла:
kubectl create configmap lvm-config --from-env-file=storages/files/lvm_config.conf
kubectl create configmap lvm-storages-config --from-file=storages/files/storages_config.conf
kubectl create configmap lvm-storages-dump --from-file=storages/files/lvm_settings.json
2) Выполнить загрузку/миграцию настроек и убедиться, что процесс был выполнен успешно:
kubectl apply -k storages/overlays/prepare_configs_lvm
kubectl get pods
kubectl logs lvm-configs-prepare-xxxxx
3) Загрузить настройки из пользовательского дамп-файла и убедиться, что процесс был выполнен успешно:
kubectl apply -k storages/overlays/load_dump_lvm
kubectl get pods
kubectl logs storages-load-dump-lvm-xxxxx
4) Создать базу данных для сервиса Projector и убедиться, что процесс был выполнен успешно:
kubectl apply -k storages/overlays/prepare_db_lvm
kubectl get pods
kubectl logs lvm-db-projector-prepare-xxxxx