Руководство по установке#
В руководстве приведены инструкции по установке компонента 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) |
|||
Среда контейнеризации |
Да |
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 |
Инструмент для управления экземплярами |
|||
Средство контейнеризации |
Да |
1.13.1 |
Рекомендовано |
Инструмент для автоматизации работы с контейнерами |
|
Java-машина |
Да |
11.0.20 |
Рекомендовано |
Окружение для работы модулей компонента (реализация на Java) |
|
Распространяемый клиент IBM MQ |
Да |
9.2.0.7-IBM-MQC-Redist-LinuxX64 |
9.2.0.7 |
Рекомендовано |
Клиент для подключения к IBM MQ в базовом образе (реализация MQ Gateway на Golang) |
Сервис интеграции и оркестрации микросервисов в облаке |
Да |
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 |
CPU: 300m |
CPU: 500m |
При использовании 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-репозиторий, то этот шаг можно пропустить. |
Развернуть дистрибутив |
Скачать owned-дистрибутив. |
|
Подготовить рабочий каталог (реализация MQ Gateway на Java) |
Поместить java-модуль распространяемого клиента IBM MQ (com.ibm.mq.allclient-9.2.0.6.jar |
|
Подготовить рабочий каталог (реализация MQ Gateway на Golang) |
Поместить архив распространяемого клиента IBM MQ (*IBM-MQC-Redist-LinuxX64.tar |
|
Авторизоваться в Docker-репозитории |
Выполнить команду: |
|
Собрать Docker-образ |
Выполнить команду: |
|
Залить образ в docker registry |
Выполнить команду: |
* Не поставляется в составе дистрибутива.
** без выполнения данного шага сборка завершится ошибкой, либо полученный образ будет неработоспособен.
Для реализации MQ Gateway на Golang можно собрать пользовательский базовый образ, содержащий необходимую библиотеку, с использованием файла для сборки базового образа из содержащихся в дистрибутиве (список приведен в разделе Состав дистрибутива), и использовать этот пользовательский образ в качестве базового, для сборки компонента.
Перечень программных продуктов, используемых при установке:
Наименование |
Функции |
|---|---|
DropApp (OpenShift) Client |
Подключение к проекту DropApp (OpenShift), загрузка артефактов конфигурации в проект в консольном режиме |
DropApp (OpenShift) Web Console |
Подключение к проекту DropApp (OpenShift), загрузка артефактов конфигурации в проект в интерактивном режиме |
Установка#
Установка неуказанного в данном пункте программного и аппаратного обеспечения среды функционирования должна происходить согласно документации на это обеспечение, с учетом приемных внешних и внутренних требований, а также лучших практик и уровня конфиденциальности обрабатываемой информации.
Важно! Ручная корректировка конфигурационных файлов в процессе установке не требуется.
Ручная установка сервиса#
Создать каталог установки:
Шаг
Действия
Описание
Создать каталог для установки
На компьютере, с которого будет производиться установка, создать каталог, например,
mq_gatewayРаспаковать файлы
Распаковать в созданный каталог архив с конфигурационными артефактами MQ Gateway
Подключиться к проекту:
— Через веб-интерфейс DropApp (OpenShift):
Шаг
Действия
Описание
Войти в веб-консоль DropApp (OpenShift)
Перейти по ссылке (URL) веб-консоли нужного кластера DropApp (OpenShift), в окне ввода учетных данных ввести логин и пароль
Перейти в нужный проект
Выбрать пункт меню Home → Projects, выбрать из списка нужный проект
— Через консоль DropApp (OpenShift):
Шаг
Действия
Описание
Войти в OC
В окне командной строки в приглашении ввести команду:
oc login --server=<url кластера>
В ответ на запрос ввести имя пользователя и парольПерейти в нужный проект
Ввести команду:
oc project <имя проекта>Установить общие компоненты:
— Через веб-интерфейс DropApp (OpenShift):
Шаг
Действия
Описание
Добавить общий пустой сервис
1. В правом верхнем углу окна проекта щелкнуть иконку с изображением знака + и выбрать Import YAML.
2. В открывшееся окно редактирования перетащить файлempty-service.ymlиз каталога с конфигурационными артефактами.
3. Нажать кнопку Create— Через консоль DropApp (OpenShift):
Шаг
Действия
Описание
Добавить общий пустой сервис
В консоли выполнить команду:
oc create -f empty-service.ymlУстановить шлюз:
— Через веб-интерфейс 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>.ymloc create -f <Имя файла с Virtual Service>.ymloc create -f <Имя файла с Destination Rule>.ymlАртефакт, содержащий Service
Артефакт, содержащий Virtual Service.
Артефакт, содержащий Destination Rule
Обновление#
Для обновления версии удалить действующую конфигурацию и загрузить обновленную:
Создать каталог установки:
Шаг
Действия
Описание
Создать каталог для установки
На компьютере, с которого будет производиться установка, создать каталог, например,
mq_gatewayРаспаковать файлы
Распаковать в созданный каталог архив с конфигурационными артефактами новой версии MQ Gateway
Подключиться к проекту:
— Через веб-интерфейс DropApp (OpenShift):
Шаг
Действия
Описание
Войти в веб-консоль DropApp (OpenShift)
Перейти по ссылке (URL) веб-консоли нужного кластера DropApp (OpenShift), в окне ввода учетных данных ввести логин и пароль
Перейти в нужный проект
Выбрать пункт меню Home → Projects, выбрать из списка нужный проект
— Через консоль DropApp (OpenShift):
Шаг
Действия
Описание
Войти в OC
1. В окне командной строки в приглашении ввести команду:
oc login --server=<url кластера>.
2. В ответ на запрос ввести имя пользователя и пароль.Перейти в нужный проект
Ввести команду:
oc project <имя проекта>Остановить шлюз:
— Через веб-интерфейс DropApp (OpenShift):
Шаг
Действия
Описание
Остановить шлюз
1. В меню выбрать пункт Workload → Deployments.
2. На странице найти нужный Deployment (при необходимости воспользоваться поиском по имени).
3. Перейти по ссылке в наименовании на вкладку Detail.
4. Стрелкой вниз (Decrease the pod count) уменьшить количества Pods шлюза до 0— Через консоль DropApp (OpenShift):
Шаг
Действия
Описание
Остановить шлюз
В консоли выполнить команду
oc scale --replicas=0 deployment/<имя Deployment>Сохранить артефакты действующей версии:
— Через веб-интерфейс 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Удалить артефакты действующей версии:
— Через веб-интерфейс 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. В правом верхнем углу окна проекта щелкнуть иконку с изображением знака + и выбрать 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 шлюза
Запустить шлюз.
Если в 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 шлюза
Удаление#
Остановить шлюз:
— Через веб-интерфейс DropApp (OpenShift):
Шаг
Действия
Описание
Остановить шлюз
1. В меню выбрать пункт Workload → Deployments.
2. На странице найти нужный Deployment (при необходимости воспользоваться поиском по имени).
3. Перейти по ссылке в наименовании на вкладку Detail.
4. Стрелкой вниз (Decrease the pod count) уменьшить количества Pods шлюза до 0— Через консоль DropApp (OpenShift):
Шаг
Действия
Описание
Остановить шлюз
В консоли выполнить команду
oc scale --replicas=0 deployment/<имя Deployment>Удалить артефакты действующей версии:
— Через веб-интерфейс 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конфигурации шлюзаДля проверки интеграций с АС Журналирование и АС Мониторинг необходимо в АРМ этих систем убедиться в наличии логов и метрик соответственно. Для проверки интеграции с ТС Аудит необходимо в АРМ Аудит убедиться в наличии записей регистрации событий аудита.
Откат#
Остановить шлюз:
— Через веб-интерфейс DropApp (OpenShift):
Шаг
Действия
Описание
Остановить шлюз
1. В меню выбрать пункт Workload → Deployments.
2. На странице найти нужный Deployment (при необходимости воспользоваться поиском по имени).
3. Перейти по ссылке в наименовании на вкладку Detail.
4. Стрелкой вниз (Decrease the pod count) уменьшить количества Pods шлюза до 0— Через консоль DropApp (OpenShift):
Шаг
Действия
Описание
Остановить шлюз
В консоли выполнить команду
oc scale --replicas=0 deployment/<имя Deployment>Удалить артефакты обновленной версии:
— Через веб-интерфейс 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. В правом верхнем углу окна проекта щелкнуть иконку с изображением знака + и выбрать 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 шлюза
Запустить шлюз:
— Через веб-интерфейс 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-образа из репозитория |
— отсутствуют права на получение образа из репозитория; |
— запросить права на получение образа из репозитория; |
Чек-лист валидации установки#
Проверка |
Действия |
Результат |
|---|---|---|
Все артефакты загружены в проект |
По списку артефактов, подготовленных разработчиком прикладного дистрибутива, (см. п. Установка) найти их в проекте DropApp (OpenShift)! |
Каждый артефакт найден в проекте |
Все Pods шлюза запущены |
Найдите Deployment, перейдите на вкладку Pods, проверить, что все Pods имеют статус Running |
Все Pods MQ Gateway имеют статус Running |
Отсутствие ошибок в журналах контейнеров |
На вкладке Logs для каждого Pod проверить, что в журнале контейнеров Pod отсутствуют ошибки |
В системных журналах Pods MQ Gateway отсутствуют записи с ключевым словом error |
Дополнительно выполнить пункты из раздела Проверка работоспособности