Инструкция по обновлению Monq до версии 8.6.0
В этом обновлении
Продукт | Новая версия |
---|---|
pl | 8.6.0 |
sm | 8.6.0 |
cl | 8.6.0 |
mcs | 8.6.0 |
plugins | 8.6.0 |
monq-registry | 3.16.0 |
Уровень простоя
Без простоя
Проведение миграции 8.5.0 -> 8.6.0
Требования
Минимальная версия Monq: 8.5.0
Минимальная версия monqctl: 1.16.1
Для запуска обновления требуется скачать клиент управления Monq monqctl и выполнить конфигурацию контекста monqctl, если ранее этого не выполнялось.
Токен доступа в Monq ReleaseHub для скачивания обновления можно взять из письма о регистрации лицензии или получить, обратившись в техническую поддержку Monq.
Выполнить предрелизную подготовку
Проверить контекст monqctl и статус реестра микросервисов
# Просмотреть текущий контекст, с которым работает monqctl
monqctl config current-context
# Просмотреть статус реестра микросервисов из контекста
monqctl registry get status
# Просмотреть статус сервисов в реестре микросервисов из контекста
monqctl registry get services
Выполнить обновление реестра микросервисов
monqctl registry update registry --version=3.16.0
Закрытый контур / обновление из папки
На системе с доступом к сети интернет, установленном и настроенном monqctl, выполнить экспорт реестра микросервисов в локальную директорию
monqctl registry export registry 3.16.0 --dest=./<registry export directory>
После переноса папки на сервер выполнить обновление реестра микросервисов
monqctl registry update registry --version=3.16.0 --sourceDir=<папка с экспортированным обновлением>
Проверить статус реестра микросервисов
monqctl registry get status
пока команда monqctl registry get status
выдаст обновленную версию: Version: "3.16.0"
Установить контекст релиза, с которым будет работать monqctl
в рамках контекста установленного Monq
Команда при этом скачивает и подготавливает релиз для установки.
monqctl release use-version 8.6.0 --product=monq
Закрытый контур / обновление из папки
На системе с доступом к сети интернет, установленном и настроенном monqctl, выполнить экспорт релиза в папку
monqctl release version export 8.6.0 --product=monq --dest=<export directory>
После переноса папки на сервер выполнить команду с аргументом --sourceDir
monqctl release use-version 8.6.0 --product=monq --sourceDir=<папка с экспортированным обновлением>
MONQ Platform (pl)
Выполнить импорт контейнеров в Docker репозиторий обновляемого экземпляра MONQ
monqctl release update images --module=pl
Выполнить конфигурацию баз данных микросервисов
monqctl release update db pgsql --module=pl --microservice=pl-i18n-service --file pl-i18n-service.sql
monqctl release update db pgsql --module=pl --microservice=pl-userspaces-api-service --file userspace-configuration.sql
monqctl release update db pgsql --module=pl --microservice=pl-agents-service --file sqls/pl-agents-service.sql
Выполнить обновление и конфигурацию микросервисов
monqctl release update microservices --module=pl
Обновить существующие и установить новые библиотеки "автоматон v2"
monqctl release update automaton-libraries --module=pl --file=automaton-libs/automaton.cl.import
При ошибке HTTP 500 и сообщении в теле ответа "Operation timeout exception" - повторить команды.
Такая ошибка может возникнуть если микросервис "pl-automaton-v2-service" не успел перезапуститься после обновления контейнера.
Перезапустить микросервисы "автоматон v2"
monqctl instance restart microservice --microservice=pl-automaton-v2-service
monqctl instance restart microservice --microservice=pl-automaton-v2-processor-service
monqctl instance restart microservice --microservice=pl-automaton-v2-processor-service-compiler
Применить обновление маршрутизации
monqctl release update routing --module=pl
Сбросить кэш для микросервисов
monqctl instance clear cache --microservice=pl-i18n-service
Выполнить удаление устаревших ключей маршрутизации
monqctl instance delete queue-binding --queue=pl_identity_management_service --bindingKey=identity.user.create
Перезапустить микросервис исполнитель сценариев "автоматон v2"
monqctl instance restart microservice --microservice=pl-automaton-v2-processor-service-runner
kubectl get pod -A | grep -v Running
MONQ Service Monitor (sm)
Выполнить импорт контейнеров в Docker репозиторий обновляемого экземпляра MONQ
monqctl release update images --module=sm
Выполнить конфигурацию баз данных микросервисов
monqctl release update db pgsql --module=sm --microservice=sm-signals-service --file sqls/sm-signals-service.sql
Выполнить обновление и конфигурацию микросервисов
monqctl release update microservices --module=sm
kubectl get pod -A | grep -v Running
MONQ Collector (cl)
Выполнить импорт контейнеров в Docker репозиторий обновляемого экземпляра MONQ
monqctl release update images --module=cl
Выполнить обновление и конфигурацию микросервисов
monqctl release update microservices --module=cl
kubectl get pod -A | grep -v Running
MONQ Metrics (mcs)
Выполнить импорт контейнеров в Docker репозиторий обновляемого экземпляра MONQ
monqctl release update images --module=mcs
Выполнить обновление и конфигурацию микросервисов
monqctl release update microservices --module=mcs
kubectl get pod -A | grep -v Running
Применить обновление маршрутизации
monqctl release update routing --module=mcs
PLUGINS (plugins)
Выполнить импорт контейнеров в Docker репозиторий обновляемого экземпляра MONQ
monqctl release update images --module=plugins
Выполнить обновление и конфигурацию микросервисов
monqctl release update microservices --module=plugins
kubectl get pod -A | grep -v Running
Выполнить загрузку контент-паков
monqctl release update content-packs --module=plugins --replace --file=content-packs/prometheus.zip
monqctl release update content-packs --module=plugins --replace --file=content-packs/k8s.zip
monqctl release update content-packs --module=plugins --replace --file=content-packs/stream-full-request-parser.zip