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

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

Окружение готовится с использованием утилиты Storages.

Убедитесь, что вы находитесь в рабочей директории с файлами Kubernetes:

cd /var/lib/luna/current/extras/k8s/

С помощью утилиты можно подготовить окружение для установки с нуля, обновления или даунгрейда. По умолчанию для аргумента --platform-version установлено значение актуальной версии LUNA PLATFORM. Для даунгрейда необходимо указать соответствующую версию LUNA PLATFORM.

Важно! В ходе подготовки окружения при обновлении или даунгрейде важно тщательно планировать воздействие на запущенные сервисы, использующие базы данных. См. подробную информацию в разделе "Рекомендации по поведению сервисов во время подготовки окружения" руководства по утилите Storages.

Необходимо задать следующие настройки в соответствии с пользовательской логикой:

  • storages/files/platform_settings.jsonдамп-файл, позволяющий переопределить дефолтные настройки с помощью команды load_dump.
  • storages/files/storages_config.confнастройки Storages, позволяющие утилите ходить в БД, S3 и пр.
  • storages/overlays/<command_name> — позиционные аргументы Storages.

Подготовка окружения выполняется с помощью инструмента Kustomize без использования Helm. В файле storages/base/base.yaml определен шаблон, на который накладываются слои из директории storages/overlays. Доступно 4 слоя - check, list, load_dump, prepare, каждый из которых соответствует определенной команде позиционного аргумента luna_prepare.

Для загрузки образа из регистри VisionLabs необходимо также заполнить параметр imagePullSecrets в манифесте storages/base/base.yaml (см. "Создание секрета для авторизации в реестре Docker" в разделе "Дополнительная информация").

Для подготовки окружения нужно выполнить следующие команды:

1) Создать Configmap для загрузки настроек Storages и дамп-файла:

kubectl create configmap storages-config --from-file=storages/files/storages_config.conf
kubectl create configmap storages-dump --from-file=storages/files/platform_settings.json

2) Выполнить подготовку окружения с помощью команды prepare:

kubectl apply -k storages/overlays/prepare
kubectl get pods
kubectl logs storages-prepare-xxxxx

По умолчанию готовится окружение для всех сущностей (позиционный аргумент all_entites). Для подготовки отдельных сущностей необходимо отредактировать файл storages/overlays/prepare/overlay-prepare.yaml соответствующим образом.

3) Загрузить пользовательский дамп-файл с помощью команды load_dump:

kubectl apply -k storages/overlays/load_dump
kubectl get pods
kubectl logs storages-load-dump-xxxxx

После выполнения поды будут иметь статус Completed и не будут автоматически удалены. Для корректного удаления манифеста необходимо выполнить команду kubectl delete -k storages/overlays/<storages_command>.

При необходимости можно использовать команды list и check аналогично вышеописанным примерам.

Набор манифестов не включает в себя пример использования команды logs.