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