Руководство по установке#

В руководстве приведены инструкции по установке компонента MQ Gateway (MQGT) продукта Platform V Synapse Enterprise Integration (SEI).

Термины и определения#

Термин/Аббревиатура

Определение

CPU

Central Processing Unit, центральный процессор

gRPC

Высокопроизводительный фреймворк, разработанный компанией Google для вызова удаленных процедур (RPC)

DEV

Среда, в которой производится первичная отладка разрабатываемого ПО

ПРОМ

Промышленный контур — среда, в которой обрабатываются реальные (не тестовые) данные

ИФТ

Среда, в которой выполняется интеграционно-функциональное тестирование

ПСИ

Среда, в которой проводятся приемо-сдаточные испытания

НТ

Нагрузочное тестирование

Важно! MQ Gateway (MQGT) продукта Platform V Synapse Enterprise Integration (SEI) поставляется в виде дистрибутива для сборки Docker-образа. Docker-образ предназначается для использования в составе прикладных интеграционных решений, разрабатываемых продуктовыми командами.

Для этого команды, реализующие прикладную интеграцию, выпускают дистрибутив, содержащий набор конфигурационных артефактов DropApp/Kubernetes (OpenShift), обеспечивающих развертывание и настройку отдельного экземпляра MQ Gateway под требования этой интеграции.

Самостоятельно, вне рамок прикладных интеграционных решений, MQ Gateway не эксплуатируется.

Неперечисленные ниже параметры окружения (в т.ч. имеющихся как данность и дополнительных платформенных сервисов, выбранных владельцем/архитектором конечной ИС/АС в процессе ее создания) настраиваются согласно эксплуатационной документации на соответствующее средство с учетом уровня конфиденциальности обрабатываемой информации и применимые внутренние и внешние (отраслевые, национальные и международные) требования ИБ, в связи с не предъявлением компонентом MQGT специфических требований к ним.

Системные требования#

Настройки безопасности окружения и перечень платформенных (дополнительных внешних) продуктов, используемых для установки, настройки и контроля в конечной информационной системе (далее — ИС), выбираются клиентом при разработке конечной ИС, исходя из характера обрабатываемой в ней информации и иных требований информационной безопасности (далее — ИБ), предъявляемых к ней.

Системное программное обеспечение#

Ниже представлены категории системного программного обеспечения (далее — ПО), которые обязательны или опциональны для установки, настройки, контроля и функционирования компонента. В каждой категории перечислены все поддерживаемые продукты сторонних правообладателей. Отдельно обозначены варианты, которые рекомендует АО «СберТех» (маркировка «Рекомендовано» в столбце «Продукт, функциональная совместимость с которым подтверждена»). Клиенту необходимо выбрать один из продуктов в каждой категории, исходя из условий использования конечной ИС.

Важно! Распространяемый клиент IBM MQ - проприетарное ПО, не поставляется в составе дистрибутива MQ Gateway. Для использования MQ Gateway заказчик должен иметь собственный экземпляр дистрибутива Распространяемого клиента IBM MQ, и лицензию на его использование. Файлы Распространяемого клиента IBM MQ используются при сборке Docker-образа MQ Gateway в соответствии с разделом Ручная сборка Docker-образа из дистрибутива данной инструкции.

Категория ПО

Обязательность установки (да/нет)*

Наименование ПО

Версия

Продукт, функциональная совместимость с которым подтверждена**

Описание

Операционная система

Да

ОС Альт 8 СП

8

Рекомендовано. Правообладателем АО «СберТех» также рекомендована ОС – Platform V SberLinux OS Server, см. раздел «Платформенные зависимости»

ОС контейнеров для запуска модулей компонента

Red Hat Enterprise Linux

3.10.0-1160.59.1.el7.x86_64

ОС контейнеров для запуска модулей компонента, рекомендуется использовать базовый образ RedHat ubi-minimal (Для реализации MQ Gateway на Golang должна быть настроена локализация ru_RU.UTF-8)

Среда контейнеризации

Да

Kubernetes

1.25.3

Рекомендовано. Правообладателем АО «СберТех» также рекомендована среда контейнеризации – Platform V DropApp, см. раздел «Платформенные зависимости»

Платформа контейнеризации для запуска компонентов сервиса

Red Hat OpenShift

Kubernetes Version: v1.19.0+d856161

Платформа контейнеризации для запуска компонентов сервиса

Консольная утилита управления

Да

kubectl

1.22.4

Рекомендовано

Инструмент для управления экземплярами

Openshift client

openshift-clients-4.6.0-202006250705.p0-168-g02c110006

Инструмент для управления экземплярами

Средство контейнеризации

Да

Docker CE

1.13.1

Рекомендовано

Инструмент для автоматизации работы с контейнерами

Java-машина

Да

Semeru OpenJDK 11 with OpenJ9 VM

11.0.20

Рекомендовано

Окружение для работы модулей компонента (реализация на Java)

Распространяемый клиент IBM MQ

Да

9.2.0.7-IBM-MQC-Redist-LinuxX64

9.2.0.7

Рекомендовано

Клиент для подключения к IBM MQ в базовом образе (реализация MQ Gateway на Golang)

Сервис интеграции и оркестрации микросервисов в облаке

Да

Istio

1.12

Рекомендовано. Правообладателем АО «СберТех» также рекомендован сервис интеграции и оркестрации микросервисов в облаке, основанный на Istio, – Platform V Synapse Service Mesh, см. раздел «Платформенные зависимости»

Сервис интеграции микросервисов в облаке

Менеджер системы обмена сообщениями

Да

IBMMQ

9.1.0.8

Рекомендовано

Обмен сообщениями

Примечание:

*

  • Да — категория ПО обязательна для функционирования сервиса (это означает, что сервис не может выполнять свои основные функции без установки данной категории ПО).

  • Нет — категория ПО необязательна для функционирования сервиса (это означает, что сервис может выполнять свои основные функции без установки данной категории ПО).

**

  • Рекомендовано — рекомендованный правообладателем АО «СберТех» продукт.

  • Опционально — альтернативный по отношению к рекомендованному правообладателем АО «СберТех» продукт.

Платформенные зависимости#

Для настройки, контроля и функционирования компонента реализована интеграция с программными продуктами, правообладателем которых является АО «СберТех»:

Наименование продукта

Код

Версия продукта

Код и наименование компонента

Обязательность установки (да/нет)***

Описание

Аналог других производителей****

Platform V SberLinux OS Server

SLO

8.7

INST Операционная система

Да

ОС контейнеров для запуска модулей компонента

ОС Альт 8 СП

Platform V DropApp

K8S

1.1 и выше

K8SC K8S Core

Да

Дистрибутив Kubernetes со встроенными механизмами мультитенантности и бессерверным исполнением

Kubernetes, Red Hat OpenShift Container Platform

Platform V Synapse Service Mesh

SSM

3.6

SVPX Сервисный прокси

Да

Sidecar обеспечивающий функции управления внутренним трафиком

Istio proxy 1.12

IGEG Граничный прокси

Нет

Сервис для обеспечения управляемого вызова интеграционных сервисов прикладной части

Istio proxy 1.12

Platform V Audit SE

AUD

3.1

AUDT Аудит

Нет

Сервис для аудирования событий

Сервис успешно прошел испытания и подтвердил свою работоспособность с компонентом AUDT. С аналогами других производителей не тестировался

Platform V Monitor

OPM

5.0.1

LOGA Журналирование

Нет

Сервис для хранения лог-файлов

Любой сервис сбора записей о событиях, совместимый с fluent-bit, например: Elasticsearch, InfluxDB

MONA Объединенный мониторинг Unimon

Нет

Сервис для сбора прикладных и инфраструктурных метрик и отправки их в целевую систему хранения

Prometheus 2.21.0

SCM Агент SecMan

Нет

Получение сертификатов и других секретов из хранилища SecMan и загрузка их в Pod. Функционирует как sidecar-контейнер, прозрачно для основных участников взаимодействия

Platform V Synapse Service Mesh

SSM

3.6

REQV Валидатор запросов

Нет

Валидации входящих запросов. Функционирует как sidecar-контейнер

Примечание:

***

  • Да — компонент или продукт необходим для функционирования сервиса (это означает, что сервис не может выполнять свои основные функции без установки данного компонента).

  • Нет — необязательный для функционирования сервиса компонент или продукт (это означает, что сервис может выполнять свои основные функции без установки данного компонента).

**** Рекомендуется установка программного продукта, правообладателем которого является АО «СберТех», при этом не исключена возможность (допускается правообладателем) использования аналога других производителей. Аналоги, в отношении которых продукт успешно прошел испытания и подтвердил свою работоспособность, указаны в разделе «Системное программное обеспечение».

Аппаратные требования#

В рамках требований указан минимальный размер. Целевой размер определяется по результатам НТ отдельно под каждый интеграционный сценарий.

Для установки компонента требуется следующая конфигурация аппаратного обеспечения:

Тип стенда

DEV

ИФТ/ПСИ

НТ/ПРОМ

Конфигурация в среде контейнеризации (в рамках одного Pod)

CPU: 200m

RAM: 256Mi

CPU: 300m

RAM: 512Mi

CPU: 500m

RAM: 512Mi

При использовании sidecars Сервисного прокси, Агента журналирования, Агент SecMan минимальные ресурсы, необходимые для их запуска, следует уточнить в документации на эти компоненты.

Компонент Сервисный прокси (SVPX) Platform V Synapse Service Mesh должен быть развернут в соответствии с разделом Установка документа Руководство по установке своей документации.

Компонент Агент журналирования (LOGA) Platform V Monitor должен быть развернут в соответствии с разделом Установка документа Руководство по установке своей документации.

Компонент Валидатор запросов (REQV) Platform V Synapse Service Mesh должен быть развернут в соответствии с разделом Установка документа Руководство по установке своей документации.

Состав дистрибутива#

Элемент дистрибутива

Описание

/package/docker/waitingSecrets.sh

Скрипт, исполняемый после старта docker контейнера

/package/docker/entrypoint.sh

Скрипт запуска приложения

/package/docker/Dockerfile

Файл для сборки Docker-образа компонента

/package/docker/mqgt/base.sblnxos

Файл для сборки пользовательского базового Docker-образа на основе SberOS

/package/docker/mqgt/base.ubi-minimal

Файл для сборки пользовательского базового Docker-образа на основе ubi-minimal

/package/bh/cash/

Оптимизированный кеш Java-машины для ускорения старта приложения

/package/bh/org/springframework/boot/loader/

Загрузчик классов от spring boot, используется для запуска java приложения

/package/bh/BOOT-INF/lib/

Jar-бибилиотеки, зависимости, которые используются приложением

/package/bh/BOOT-INF/classpath.idx

Пути до бибилиотек с зависимостям

/package/bh/BOOT-INF/classes/

Все ресурсы java приложения, в том числе и классы

/package/ReleaseNotes.json

Метаинформация по дистрибутиву, формируемая сборщиком дистрибива

/package/conf/

Конфигурация дистрибутива, включая определение стендозависимых параметров

Выбор способа установки#

На данный момент поддерживается только ручная установка.

Подготовка окружения#

Для установки MQ Gateway в составе прикладного дистрибутива должно быть выполнено следующее:

  • развернут и настроен кластер DropApp версии 1.1 или выше или OpenShift версии 4.5 или выше в соответствии с требованиями, предъявляемыми к Платформе;

  • в кластере создан проект (namespace), в котором будет разворачиваться шлюз;

  • в проекте создана учетная запись с правами на загрузку артефактов;

  • Docker-образ MQ Gateway размещен в целевом Docker-репозитории, по ссылке, указанной в конфигурационном артефакте Deployment (см. раздел «Быстрый старт» документ «Руководство прикладного разработчика»);

  • в проект добавлен секрет для загрузки docker-образов из целевого Docker-репозитория;

  • проект подключен к ControlPlane Service Mesh (Platform V Synapse Service Mesh); это необязательное условие: MQ Gateway может работать без подключенного Service Mesh, но часть возможностей, которые он обеспечивает, будут недоступны (например, повторы вызовов по gRPC);

  • Обеспечена возможность подключения Сервисного прокси (SVPX) к Pod MQ Gateway;

  • В целевом репозитории доступен для загрузки в проект образ Агента журналирования (LOGA).

  • подготовлен комплект настроенных конфигурационных артефактов (см. документ «Руководство прикладного разработчика»);

  • менеджеры MQ настроены и готовы к работе. Со стороны кластера DropApp (OpenShift) есть доступ к ним. При работе с IBM MQ требуемая версия ПО — не ниже 9.0;

  • созданы целевые очереди сообщений, к ним предоставлен необходимый доступ;

  • в проекте имеются свободные ресурсы по лимитам и реквестам в количестве не менее, чем зарезервировано в конфигурационных артефактах;

  • для установки через консоль на рабочем месте должен быть установлен клиент kubectl или OpenShift (OC).

  • Сетевые соединения с менеджерами MQ должны быть защищены протоколом TLS версии не ниже 1.2, поэтому должны быть выпущены сертификаты для установки TLS подключения.

Ручная сборка Docker-образа из дистрибутива#

Необходимая информация приведена в таблице ниже.

Шаг

Действия

Комментарий

Опубликовать базовый образ

Авторизоваться в Docker-репозитории командой:
docker login -u имя_пользователя -p пароль_пользователя имя_Docker-репозитория
Загрузить образ из файла командой:
docker load -i путь_к_tar_архиву_с_образом
Проставить нужный тег полученному образу командой:
docker tag имя_загруженного_образа целевой_тег_образа
Залить образ в docker registry командой:
docker push целевой_тег_образа

Если базовый образ уже загружен в целевой Docker-репозиторий, то этот шаг можно пропустить.

Развернуть дистрибутив

Скачать owned-дистрибутив.
Разархивировать owned дистрибутив.
Перейти в терминале в директорию package дистрибутива owned

Подготовить рабочий каталог (реализация MQ Gateway на Java) **

Поместить java-модуль распространяемого клиента IBM MQ (com.ibm.mq.allclient-9.2.0.6.jar *) в папку ./bh/boot-INF/lib

Подготовить рабочий каталог (реализация MQ Gateway на Golang) **

Поместить архив распространяемого клиента IBM MQ (*IBM-MQC-Redist-LinuxX64.tar *) в папку ./docker/mqgt/IBM

Авторизоваться в Docker-репозитории

Выполнить команду:
docker login -u имя_пользователя -p пароль_пользователя имя_Docker-репозитория

Собрать Docker-образ

Выполнить команду:
bash plain docker build -f ./docker/mq_gateway/Dockerfile --build-arg BASE_IMAGE=имя_базового_образа  -t целевой_тэг_образа.

Залить образ в docker registry

Выполнить команду:
docker push целевой_тег_образа

* Не поставляется в составе дистрибутива.

** без выполнения данного шага сборка завершится ошибкой, либо полученный образ будет неработоспособен. Для реализации MQ Gateway на Golang можно собрать пользовательский базовый образ, содержащий необходимую библиотеку, с использованием файла для сборки базового образа из содержащихся в дистрибутиве (список приведен в разделе Состав дистрибутива), и использовать этот пользовательский образ в качестве базового, для сборки компонента.

Перечень программных продуктов, используемых при установке:

Наименование

Функции

DropApp (OpenShift) Client

Подключение к проекту DropApp (OpenShift), загрузка артефактов конфигурации в проект в консольном режиме

DropApp (OpenShift) Web Console

Подключение к проекту DropApp (OpenShift), загрузка артефактов конфигурации в проект в интерактивном режиме

Установка#

Установка неуказанного в данном пункте программного и аппаратного обеспечения среды функционирования должна происходить согласно документации на это обеспечение, с учетом приемных внешних и внутренних требований, а также лучших практик и уровня конфиденциальности обрабатываемой информации.

Важно! Ручная корректировка конфигурационных файлов в процессе установке не требуется.

Ручная установка сервиса#

  1. Создать каталог установки:

    Шаг

    Действия

    Описание

    Создать каталог для установки

    На компьютере, с которого будет производиться установка, создать каталог, например, mq_gateway

    Распаковать файлы

    Распаковать в созданный каталог архив с конфигурационными артефактами MQ Gateway

  2. Подключиться к проекту:

    — Через веб-интерфейс DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Войти в веб-консоль DropApp (OpenShift)

    Перейти по ссылке (URL) веб-консоли нужного кластера DropApp (OpenShift), в окне ввода учетных данных ввести логин и пароль

    Перейти в нужный проект

    Выбрать пункт меню Home → Projects, выбрать из списка нужный проект

    — Через консоль DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Войти в OC

    В окне командной строки в приглашении ввести команду: oc login --server=<url кластера>
    В ответ на запрос ввести имя пользователя и пароль

    Перейти в нужный проект

    Ввести команду:
    oc project <имя проекта>

  3. Установить общие компоненты:

    — Через веб-интерфейс DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Добавить общий пустой сервис

    1. В правом верхнем углу окна проекта щелкнуть иконку с изображением знака + и выбрать Import YAML.
    2. В открывшееся окно редактирования перетащить файл empty-service.yml из каталога с конфигурационными артефактами.
    3. Нажать кнопку Create

    — Через консоль DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Добавить общий пустой сервис

    В консоли выполнить команду:
    oc create -f empty-service.yml

  4. Установить шлюз:

    — Через веб-интерфейс DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Загрузить секрет с ключами

    1. В правом верхнем углу окна проекта щелкнуть иконку с изображением знака + и выбрать Import YAML.
    2. В открывшееся окно редактирования перетащить файл с секретом из каталога с конфигурационными артефактами.
    3. Нажать кнопку Create

    Артефакт, содержащий .jks-файл с ключами
    (Для реализации на Golang файлы .kdb и .sth)

    Загрузить секрет с настройками SSL

    1. В правом верхнем углу окна проекта щелкнуть иконку с изображением знака + и выбрать Import YAML.
    2. В открывшееся окно редактирования перетащить файл с секретом из каталога с конфигурационными артефактами.
    3. Нажать кнопку Create

    Артефакт, содержащий ssl-secret.yml

    Загрузить конфигурацию шлюза

    1. В правом верхнем углу окна проекта щелкнуть иконку с изображением знака + и выберать Import YAML.
    2. В открывшееся окно редактирования перетащить файл с конфигурацией из директории с конфигурационными артефактами.
    3. Нажать кнопку Create.
    4. При наличии артефакта, содержащего environment.yml, повторить шаги для него

    — Артефакт, содержащий application.yml;
    — Артефакт содержащий environment.yml.

    Загрузить Deployment

    1. В правом верхнем углу окна проекта щелкнуть иконку с изображением знака + и выбрать Import YAML.
    2. В открывшееся окно редактирования перетащить файл, содержащий Deployment шлюза из директории с конфигурационными артефактами.
    3. Нажать кнопку Create

    Артефакт, содержащий Deployment шлюза

    Загрузить артефакты DropApp (OpenShift)

    1. В правом верхнем углу окна проекта щелкнуть иконку с изображением знака + и выбрать Import YAML.
    2. В открывшееся окно редактирования перетащить файл, содержащий Service из директории с конфигурационными артефактами.
    3. Нажать кнопку Create.
    4. Повторить действия для файлов, содержащих Virtual Service, Destination Rule при их наличии

    — Артефакт, содержащий Service.
    — Артефакт, содержащий VirtualService.
    — Артефакт, содержащий Destination Rule

    — Через консоль DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Загрузить секрет с ключами

    В консоли выполнить команду:
    oc create -f <имя файла с ключами>.yml

    Артефакт, содержащий .jks-файл с ключами
    (Для реализации на Golang файлы .kdb и .sth)

    Загрузить секрет с настройками SSL

    В консоли выполнить команду:
    oc create -f <имя файла с настройками SSL>.yml

    Артефакт, содержащий ssl-secret.yml

    Загрузить конфигурацию шлюза

    В консоли выполнить команду:
    oc create -f <имя файла с конфигурацией>.yml
    При наличии файла, содержащего environment.yml, выполнить команду:
    oc create -f <имя файла с environment.yml>

    Артефакт, содержащий application.yml
    Артефакт, содержащий environment.yml

    Загрузить Deployment

    В консоли выполнить команду:
    oc create -f <имя файла с Deployment>.yml

    Артефакт, содержащий Deployment шлюза

    Загрузить артефакты DropApp (OpenShift)

    В консоли выполнить команды:
    oc create -f <Имя файла с Service>.yml
    oc create -f <Имя файла с Virtual Service>.yml
    oc create -f <Имя файла с Destination Rule>.yml

    Артефакт, содержащий Service
    Артефакт, содержащий Virtual Service.
    Артефакт, содержащий Destination Rule

Обновление#

Для обновления версии удалить действующую конфигурацию и загрузить обновленную:

  1. Создать каталог установки:

    Шаг

    Действия

    Описание

    Создать каталог для установки

    На компьютере, с которого будет производиться установка, создать каталог, например, mq_gateway

    Распаковать файлы

    Распаковать в созданный каталог архив с конфигурационными артефактами новой версии MQ Gateway

  2. Подключиться к проекту:

    — Через веб-интерфейс DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Войти в веб-консоль DropApp (OpenShift)

    Перейти по ссылке (URL) веб-консоли нужного кластера DropApp (OpenShift), в окне ввода учетных данных ввести логин и пароль

    Перейти в нужный проект

    Выбрать пункт меню Home → Projects, выбрать из списка нужный проект

    — Через консоль DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Войти в OC

    1. В окне командной строки в приглашении ввести команду:
    oc login --server=<url кластера>.
    2. В ответ на запрос ввести имя пользователя и пароль.

    Перейти в нужный проект

    Ввести команду:
    oc project <имя проекта>

  3. Остановить шлюз:

    — Через веб-интерфейс DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Остановить шлюз

    1. В меню выбрать пункт Workload → Deployments.
    2. На странице найти нужный Deployment (при необходимости воспользоваться поиском по имени).
    3. Перейти по ссылке в наименовании на вкладку Detail.
    4. Стрелкой вниз (Decrease the pod count) уменьшить количества Pods шлюза до 0

    — Через консоль DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Остановить шлюз

    В консоли выполнить команду
    oc scale --replicas=0 deployment/<имя Deployment>

  4. Сохранить артефакты действующей версии:

    — Через веб-интерфейс DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Сохранить Deployment

    1. В меню выбрать пункт Workload → Deployments.
    2. На странице найти нужный Deployment (при необходимости воспользоваться поиском по имени).
    3. Перейти по ссылке в наименовании на вкладку Detail, перейти на вкладку YAML.
    4. Нажать кнопку Download. Файл с именем deployment-<имя Deployment>.yaml будет загружен на рабочее место

    Сохранить конфигурацию

    1. В меню выбрать пункт Workload → Config Maps.
    2. На странице найти нужный артефакт (при необходимости воспользоваться поиском по имени).
    3. Перейти по ссылке в наименовании на вкладку Detail, перейти на вкладку YAML.
    Нажать кнопку Download. Файл с именем configmaps-<имя config map>.yaml будет загружен на рабочее место

    — Через консоль DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Сохранить Deployment

    В консоли выполнить команду:
    oc get -o yaml deployment/<имя Deployment> > <путь к файлу>.yaml

    Сохранить конфигурацию

    В консоли выполнить команду:
    oc get -o yaml configmaps/<имя config map> > <путь к файлу>.yaml

  5. Удалить артефакты действующей версии:

    — Через веб-интерфейс DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Удалить Deployment

    1. В меню выбрать пункт Workload → Deployments.
    2. На странице найти нужный Deployment (при необходимости воспользоваться поиском по имени).
    3. Перейти по ссылке в наименовании на вкладку Detail.
    4. Раскрыть меню Action в правом верхнем углу окна, выбрать пункт Delete Deployment.
    5. В появившемся окне подтвердить действие

    Удалить конфигурацию

    1. В меню выбрать пункт Workload → Config Maps.
    2. На странице найти нужный артефакт (при необходимости воспользоваться поиском по имени).
    3. Перейти по ссылке в наименовании на вкладку Detail.
    4. Раскрыть меню Action в правом верхнем углу окна, выбрать пункт Delete Config Map.
    5. В появившемся окне подтвердить действие

    При необходимости измените конфигурацию

    — Через консоль DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Удалить Deployment

    В консоли выполнить команду:
    oc delete deployment <имя Deployment>

    Удалить конфигурацию

    В консоли выполнить команду:
    oc delete configmap <имя config map>

    При необходимости измените конфигурацию

  6. Загрузить новую версию:

    — Через веб-интерфейс DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Загрузить конфигурацию шлюза

    1. В правом верхнем углу окна проекта щелкнуть иконку с изображением знака + и выбрать Import YAML.
    2. В открывшееся окно редактирования перетащить файл c конфигурацией из каталога с конфигурационными артефактами.
    3. Нажать кнопку Create

    Артефакт, содержащий application.yml

    Загрузить Deployment

    1. В правом верхнем углу окна проекта щелкнуть иконку с изображением знака + и выбрать Import YAML.
    2. В открывшееся окно редактирования перетащить файл, содержащий Deployment шлюза из каталога с конфигурационными артефактами.
    3. Нажать кнопку Create

    Артефакт, содержащий Deployment шлюза

    — Через консоль DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Загрузить конфигурации шлюза

    В консоли выполнить команду:
    oc create -f <имя файла с конфигурацией>.yml

    Артефакт, содержащий application.yml

    Загрузить Deployment

    В консоли выполнить команду:
    oc create -f <имя файла с Deployment>.yml

    Артефакт, содержащий Deployment шлюза

  7. Запустить шлюз.

    Если в Deployment, загруженном на предыдущем шаге, параметр replicas>0, то ручной запуск не требуется. Если replicas=0, то запустить шлюз вручную:

    — Через веб-интерфейс DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Запустить шлюза

    1. В меню выбрать пункт Workload → Deployments.
    2. На странице найти нужный Deployment (при необходимости воспользоваться поиском по имени).
    3. Перейти по ссылке в наименовании на вкладку Detail.
    4. Стрелкой вверх (Increase the pod count) увеличить количество Pods шлюза до требуемого

    — Через консоль DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Запустить шлюз

    В консоли выполнить команду:
    oc scale --replicas=<N> deployment/<имя Deployment>

    N>0 — требуемое количество запущенных Pods шлюза

Удаление#

  1. Остановить шлюз:

    — Через веб-интерфейс DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Остановить шлюз

    1. В меню выбрать пункт Workload → Deployments.
    2. На странице найти нужный Deployment (при необходимости воспользоваться поиском по имени).
    3. Перейти по ссылке в наименовании на вкладку Detail.
    4. Стрелкой вниз (Decrease the pod count) уменьшить количества Pods шлюза до 0

    — Через консоль DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Остановить шлюз

    В консоли выполнить команду
    oc scale --replicas=0 deployment/<имя Deployment>

  2. Удалить артефакты действующей версии:

    — Через веб-интерфейс DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Удалить Deployment

    1. В меню выбрать пункт Workload → Deployments.
    2. На странице найти нужный Deployment (при необходимости воспользоваться поиском по имени).
    3. Перейти по ссылке в наименовании на вкладку Detail.
    4. Раскрыть меню Action в правом верхнем углу окна, выберать пункт Delete Deployment.
    5. В появившемся окне подтвердить действие

    Удалить конфигурацию

    1. В меню выбрать пункт Workload → Config Maps.
    2. На странице найдите нужный артефакт (при необходимости воспользоваться поиском по имени).
    3. Перейти по ссылке в наименовании на вкладку Detail.
    4. Раскрыть меню Action в правом верхнем углу окна, выбрать пункт Delete Config Map.
    5. В появившемся окне подтвердить действие

    Если конфигурация была изменена

    — Через консоль DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Удалить Deployment

    В консоли выполнить команду:
    oc delete deployment <имя Deployment>

    Удалить конфигурацию

    В консоли выполнить команду:
    oc delete configmap <имя config map>

    Если была изменена конфигурация

Проверка работоспособности#

  • Через веб-интерфейс DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Проверить работоспособность

    1. В меню выберать пункт Workload → Pods.
    2. На странице найти нужный Pod шлюза.
    3. Перейти по ссылке в имени на вкладку Detail, затем на вкладку Terminal.
    4. В терминале Pod выполнить команду:
    curl localhost:<portnum>/actuator/health
    В выводе команды должен присутствовать текст "status":"UP"

    <portnum> — номер порта, указанный в параметре server/port конфигурации шлюза

  • Через консоль DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Проверить работоспособность

    1. В консоли выполнить команду:
    oc port-forward pod/<имя Pod> <portnum>:<portnum>
    2. Запустить еще одно окно консоли, в нем выполнить команду:
    curl localhost:<portnum>/actuator/health
    В выводе команды должен присутствовать текст "status":"UP"
    3. Завершить перенаправление портов, нажав Ctrl+C

    <portnum> — номер порта, указанный в параметре server/port конфигурации шлюза

    Для проверки интеграций с АС Журналирование и АС Мониторинг необходимо в АРМ этих систем убедиться в наличии логов и метрик соответственно. Для проверки интеграции с ТС Аудит необходимо в АРМ Аудит убедиться в наличии записей регистрации событий аудита.

Откат#

  1. Остановить шлюз:

    — Через веб-интерфейс DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Остановить шлюз

    1. В меню выбрать пункт Workload → Deployments.
    2. На странице найти нужный Deployment (при необходимости воспользоваться поиском по имени).
    3. Перейти по ссылке в наименовании на вкладку Detail.
    4. Стрелкой вниз (Decrease the pod count) уменьшить количества Pods шлюза до 0

    — Через консоль DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Остановить шлюз

    В консоли выполнить команду
    oc scale --replicas=0 deployment/<имя Deployment>

  2. Удалить артефакты обновленной версии:

    — Через веб-интерфейс DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Удалить Deployment

    1. В меню выбрать пункт Workload → Deployments.
    2. На странице найти нужный Deployment (при необходимости воспользоваться поиском по имени).
    3. Перейти по ссылке в наименовании на вкладку Detail.
    4. Раскрыть меню Action в правом верхнем углу окна, выбрать пункт Delete Deployment.
    5. В появившемся окне подтвердить действие

    Удалить конфигурацию

    1. В меню выбрать пункт Workload → Config Maps.
    2. На странице найти нужный артефакт (при необходимости воспользоваться поиском по имени).
    3. Перейти по ссылке в наименовании на вкладку Detail.
    4. Раскрыть меню Action в правом верхнем углу окна, выбрать пункт Delete Config Map.
    5. В появившемся окне подтвердить действие

    Если конфигурация была изменена

    — Через консоль DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Удалить Deployment

    В консоли выполнить команду:
    oc delete deployment <имя Deployment>

    Удалить конфигурацию

    В консоли выполнить команду:
    oc delete configmap <имя config map>

    Если была изменена конфигурация

  3. Загрузить сохраненные артефакты:

    — Через веб-интерфейс DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Загрузить сохраненную конфигурацию шлюза

    1. В правом верхнем углу окна проекта щелкнуть иконку с изображением знака + и выбрать Import YAML.
    2. В открывшееся окно редактирования перетащить файл c сохраненной конфигурацией.
    3. Нажать кнопку Create

    Артефакт, содержащий application.yml

    Загрузить сохраненный Deployment

    1. В правом верхнем углу окна проекта щелкнуть иконку с изображением знака + и выбрать Import YAML.
    2. В открывшееся окно редактирования перетащить файл, содержащий сохраненный Deployment шлюза.
    3. Нажать кнопку Create

    Артефакт, содержащий Deployment шлюза

    — Через консоль DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Загрузить сохраненную конфигурацию шлюза

    В консоли выполнить команду:
    oc create -f <имя файла с конфигурацией>.yml

    Артефакт, содержащий application.yml

    Загрузить сохраненный Deployment

    В консоли выполнить команду:
    oc create -f <имя файла с Deployment>.yml

    Артефакт, содержащий Deployment шлюза

  4. Запустить шлюз:

    — Через веб-интерфейс DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Запустить шлюз

    1. В меню выбрать пункт Workload → Deployments.
    2. На странице найти нужный Deployment (при необходимости воспользоваться поиском по имени).
    3. Перейти по ссылке в наименовании на вкладку Detail.
    4. Стрелкой вверх (Increase the pod count) увеличить количество Pods шлюза до требуемого

    — Через консоль DropApp (OpenShift):

    Шаг

    Действия

    Описание

    Запустить шлюз

    В консоли выполнить команду
    oc scale --replicas=<N> deployment/<имя Deployment>

    N>0 — требуемое количество запущенных Pods шлюза

Важно! Откат возможен на версию:

  • для реализации на Java не ранее 3.2

  • для реализации на Golang не ранее 3.6

Часто встречающиеся проблемы и пути их устранения#

Проблема

Причина

Решение

Ошибка при подключении к проекту

— администратору проекта DropApp (OpenShift) не предоставлен доступ в проект;
— нет физического доступа к кластеру

— запросить доступ к проекту;
— зарегистрировать обращение в поддержку для восстановления доступа.

Ошибка при загрузке артефактов

— у администратора проекта DropApp (OpenShift), от имени которого выполняется загрузка, отсутствуют необходимые права;

Проверить и скорректировать настройку прав доступа пользователя

Ошибка при получении Docker-образа из репозитория

— отсутствуют права на получение образа из репозитория;
— недоступен репозиторий;
— неверная ссылка на Docker-образ в Deployment шлюза.

— запросить права на получение образа из репозитория;
— зарегистрировать обращение в поддержку для восстановления доступа;
— проверить ссылку, при необходимости скорректировать Deployment

Чек-лист валидации установки#

Проверка

Действия

Результат

Все артефакты загружены в проект

По списку артефактов, подготовленных разработчиком прикладного дистрибутива, (см. п. Установка) найти их в проекте DropApp (OpenShift)!

Каждый артефакт найден в проекте

Все Pods шлюза запущены

Найдите Deployment, перейдите на вкладку Pods, проверить, что все Pods имеют статус Running

Все Pods MQ Gateway имеют статус Running

Отсутствие ошибок в журналах контейнеров

На вкладке Logs для каждого Pod проверить, что в журнале контейнеров Pod отсутствуют ошибки

В системных журналах Pods MQ Gateway отсутствуют записи с ключевым словом error

Дополнительно выполнить пункты из раздела Проверка работоспособности