Перейти к основному содержимому

Инструкция по обновлению Monq до версии 8.1.0

Требования

Предыдущая версия Monq: 8.0.0

В обновлении:

ПродуктНовая версия
pl8.1.0
sm8.1.0
cl8.1.0
fm8.0.0
plugins8.1.0
mcs8.0.0

Уровень простоя

Без простоя

Проведение миграции 8.0.0 -> 8.1.0

Требования

Для запуска обновления требуется скачать клиент управления Monq monqctl и выполнить конфигурацию контекста monqctl, если ранее этого не выполнялось.

!!! MonqCtl !!!

Минимальная версия monqctl: 1.13.0

Примечание

Токен доступа в Monq ReleaseHub для скачивания обновления можно взять из письма о регистрации лицензии или получить, обратившись в техническую поддержку Monq.

Выполнить предрелизную подготовку

  1. Проверить контекст monqctl и статус реестра микросервисов

    # Просмотреть текущий контекст, с которым работает monqctl
    monqctl config current-context

    # Просмотреть статус реестра микросервисов из контекста
    monqctl registry get status

    # Просмотреть статус сервисов в реестре микросервисов из контекста
    monqctl registry get services
  2. Установить контекст релиза, с которым будет работать monqctl в рамках контекста установленного Monq

    Команда при этом скачивает и подготавливает релиз для установки.

monqctl release use-version 8.1.0 --product=monq
При обновлении из папки
# Требуется выполнить экспорт релиза в папку
monqctl release version export 8.1.0 --product=monq --dest=<export directory>

# Выполнить команду `use-version` с аргументом `--sourceDir`.
monqctl release use-version 8.1.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 clickhouse --module=pl --microservice=pl-bp-service --file sqls/pl-bp-service-clickhouse.sql
monqctl release update db pgsql --module=pl --microservice=pl-work-groups-api-service --file sqls/pl-work-groups-api-service.sql
monqctl release update db pgsql --module=pl --microservice=pl-user-grants-api-service --file sqls/pl-user-grants-api-service.sql
monqctl release update db pgsql --module=pl --microservice=pl-userspace-admins-service --file sqls/pl-userspace-admins-service.sql
monqctl release update db pgsql --module=pl --microservice=pl-userspaces-api-service --file userspace-configuration.sql

Выполнить конфигурацию микросервисов в реестре для микросервисов из обновления и применить шаблоны в Kubernetes

monqctl release update microservices --module=pl

!ВНИМАНИЕ: Для установок с бесплатной лицензией

monqctl release update microservices --module=pl --microservice=pl-automaton-v2-processor-service --k8s-merge-type=Replace

Обновить существующие и установить новые библиотеки автоматона

!ВНИМАНИЕ: обновление контейнеров в K8s может занять некоторое время. Требуется дождаться.

monqctl release update automaton-libraries --module=pl --file=automaton-libs/automaton.core.import --skip-ssl-verify
monqctl release update automaton-libraries --module=pl --file=automaton-libs/automaton.cmdb.import --skip-ssl-verify
monqctl release update automaton-libraries --module=pl --file=automaton-libs/automaton.notification.import --skip-ssl-verify
monqctl release update automaton-libraries --module=pl --file=automaton-libs/automaton.reports.import --skip-ssl-verify
monqctl release update automaton-libraries --module=pl --file=automaton-libs/automaton.reports.availability.import --skip-ssl-verify

При ошибке HTTP 500 и сообщении в теле ответа "Operation timeout exception" повторить команды. Такая ошибка может возникнуть, если микросервис "pl-automaton-v2-service " не успел перезапуститься после обновления контейнера.

Запустить мигратор

monqctl release update migrator --module=pl --command="migrate user-grants"
monqctl release update migrator --module=pl --command="migrate automaton"

Перезапустить микросервисы автоматон v2

monqctl instance restart microservice --microservice=pl-automaton-v2-processor-service
monqctl instance restart microservice --microservice=pl-automaton-v2-processor-service-runner
monqctl instance restart microservice --microservice=pl-automaton-v2-processor-service-compiler
monqctl instance restart microservice --microservice=pl-bp-service-manager

Применить новую маршрутизацию

monqctl release update routing --module=pl

Сбросить кэш для микросервисов

monqctl instance clear cache --microservice=pl-i18n-service
monqctl instance clear cache --microservice=pl-user-grants-api-service
monqctl instance clear cache --microservice=pl-identity-service

Выполнить удаление устаревших ключей маршрутизации

monqctl instance delete queue-binding --queue=pl_automaton_v2_service --bindingKey=pl.automatonv2.scenario-log.create

MONQ Service Monitor (sm)

Выполнить перекачку контейнеров в Docker репозиторий обновляемого экземпляра MONQ

monqctl release update images --module=sm

Выполнить конфигурацию баз данных микросервисов

monqctl release update db pgsql --module=sm --microservice=sm-rsm-attributes-service --file sqls/sm-rsm-attributes-service.sql

Выполнить конфигурацию микросервисов в реестре для микросервисов из обновления и применить шаблоны в Kubernetes

monqctl release update microservices --module=sm

Применить новую маршрутизацию

monqctl release update routing --module=sm

MONQ Collector (cl)

Выполнить перекачку контейнеров в Docker репозиторий обновляемого экземпляра MONQ

monqctl release update images --module=cl

Выполнить конфигурацию микросервисов в реестре для микросервисов из обновления и применить шаблоны в Kubernetes

monqctl release update microservices --module=cl

PLUGINS (plugins)

Выполнить перекачку контейнеров в Docker репозиторий обновляемого экземпляра MONQ

monqctl release update images --module=plugins

Выполнить конфигурацию микросервисов в реестре для микросервисов из обновления и применить шаблоны в Kubernetes

monqctl release update microservices --module=plugins

Agent plugins + content packs

Выполнить загрузку контент-паков

monqctl release update content-packs --module=plugins --replace --file=content-packs/zabbix.zip --skip-ssl-verify
monqctl release update content-packs --module=plugins --replace --file=content-packs/k8s.zip --skip-ssl-verify