Подготовка окружения#
Окружение готовится с использованием утилиты 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.