Перейти к содержанию

Подготовка окружения#

Подготовка окружения делится на 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 утилиты Storages
  • storages/files/lvm_config.conf — служебный конфигурационный файл, необходимый для создания БД сервиса Projector и загрузки настроек. Содержит адрес сервиса Configurator и адрес Postgres
  • storages/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 - слой, отвечающий за загрузку пользовательского дамп-файла с помощью утилиты Storages
  • prepare_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