Обновление портала
1. Обновление версий портала
| Обеспечивается совместимость с текущей версией дистрибутива Cloudlink и тремя предыдущими версиями. |
Чтобы обновить портал, выполните следующие действия:
-
Разархивируйте новую версию дистрибутива в отдельную директорию.
-
Скопируйте inventory/sample в inventories/box. Процесс аналогичен установке портала Cloudlink. Это будет новый inventory для обновленного портала.
-
Перенесите значения из старых файлов config.yml и hosts в соответствующие разделы нового inventory.
Не копируйте старые файлы целиком: структура нового файла конфигурации могла измениться, поэтому совместимость не гарантируется. -
Продолжите процесс обновления портала после заполнения нового inventory значениями. Процесс аналогичен установке портала Cloudlink.
-
Выполните действия после обновления, если они есть.
При обновлении через несколько версий (например, с 1.10 до 1.12), выполняйте действия для каждой промежуточной версии по порядку (1.10, 1.11, 1.12 и т.д.). Если действий для какой-то версии нет, пропустите её.
2. Установка патчей для портала
Для установки патча выполните следующие шаги:
-
Скопируйте архив с патчем.
-
Выполните команду, где
PATH_TO_PATCH_ARCHIEVE— путь до файла архива:manage-tool --update-services PATH_TO_PATCH_ARCHIEVE -
После сообщения об успешном обновлении запустите команду развертывания, чтобы применить обновления.
3. Миграция данных между разными инсталляциями
Установщик Cloudlink поддерживает миграцию данных между различными инсталляциями, начиная с версии 1.9.
| Миграцию рекомендуется проводить между одинаковыми версиями портала. |
Для выполнения миграции:
-
Разверните инсталляции source и destination, используя стандартный процесс установки.
-
В файле migration.yml укажите пути к
kubeconfigдля обеих инсталляций: source и destination. -
Запустите playbook с помощью команды:
ansible-playbook migration.yml -vvВ результате миграции все текущие объекты в destination-кластере будут удалены и заменены данными из source-кластера.
-
Разверните destination-кластер повторно, используя стандартный процесс установки.
4. Действия после обновления
После обновления версии выполните следующие действия:
-
Подключитесь к хосту по SSH:
ssh root@${IP/DNS} # или ssh ${USERNAME}@${IP/DNS} sudo su -
Убедитесь, что у вас есть root-права.
-
Получите список подов в пространстве имён
portal-box:kubectl get pods -n portal-box # или для поиска конкретного сервиса kubectl get pods -n portal-box | grep ${SERVICE_NAME}$SERVICE_NAME— имя сервиса (например,lucrum-back,auditorи т.д.). -
После получения имени нужного пода выполните следующую команду:
kubectl -n portal-box exec -it ${POD_NAME} -- ${COMMAND}
4.1. Release 1.15
Для сервиса Order Manager выполните следующую команду:
-
Если сервис запущен вне Kubernetes:
-
Запустите Rails-консоль:
rails c
-
В консоли выполните команду:
Platform.without_deleted.update_all(disable_reservation: true, disable_reservation_for_action: true)
-
-
Если сервис запущен в Kubernetes, то выполните следующую команду:
kubectl -n portal-box exec -it ${POD_NAME} -- rails runner 'Platform.without_deleted.update_all(disable_reservation: true, disable_reservation_for_action: true)'
|
Команда отключает механизм резервации для всех платформ. Команду через |
4.2. Release 1.20
| Сервис | Команда | kubectl | Описание и комментарии |
|---|---|---|---|
order-manager |
|
|
Выполнить задачу по добавлению информации о существующих заказах. Команду нужно выполнить в main-поде только при обновлении портала. При обычной эксплуатации запуск не требуется. |
order-manager |
|
|
Выполнить задачу по добавлению информации о существующих заказах. Команду нужно выполнить в main-поде только при обновлении портала. При обычной эксплуатации запуск не требуется. |
calculator |
|
|
Выполнить задачу, она пересчитывает поврежденные ручным удалением объекты. # Команду нужно выполнить только при обновлении портала.# |
calculator |
|
|
Выполнить задачу, она пересчитывает пропущенные/не посчитанные заказы. Команду нужно выполнить только при обновлении портала. |
4.3. Release 1.22
| Сервис | Команда | kubectl | Описание и комментарии |
|---|---|---|---|
netbox |
Изменились теги для префиксов (Prefixes) сетей в Netbox для zVirt и redvirt.
Новые теги основанные на |