Руководство по установке#
В руководстве приведены инструкции по установке компонента Прикладной роутер (APPR) продукта Platform V Application Sharding (ASD). Документ предназначен для администраторов, выполняющих установку, настройку и сопровождение компонента APPR.
Этот документ содержит названия переменных, которые одинаково применимы для различных сред контейнеризации, указанных в системных требованиях. Имя переменной не определяет конкретную среду контейнеризации.
Системные требования#
Настройки безопасности окружения и перечень платформенных (дополнительных внешних) продуктов, используемых для установки, настройки и контроля в конечной информационной системе (далее — ИС), выбираются клиентом при разработке конечной ИС, исходя из характера обрабатываемой в ней информации и иных требований информационной безопасности (далее — ИБ), предъявляемых к ней.
Системное программное обеспечение#
Ниже представлены категории системного программного обеспечения (далее — ПО), которые обязательны или опциональны для установки, настройки, контроля и функционирования компонента APPR. В каждой категории перечислены все поддерживаемые продукты сторонних правообладателей. Отдельно обозначены варианты, которые рекомендует АО «СберТех» (маркировка «Рекомендовано» в столбце «Продукт, функциональная совместимость с которым подтверждена»). Клиенту необходимо выбрать один из продуктов в каждой категории, исходя из условий использования конечной ИС.
Категория ПО |
Обязательность установки (да/нет) |
Наименование ПО |
Версия |
Продукт, функциональная совместимость с которым подтверждена |
Описание |
|---|---|---|---|---|---|
Операционная система |
Да |
Docker Scratch |
- |
Рекомендовано |
ОС контейнеров для запуска модулей компонента |
Red Hat Enterprise Linux |
7.9 |
Опционально |
|||
Средство контейнеризации |
Да |
19.03.9 и выше |
Рекомендовано |
Платформа контейнеризации для запуска контейнера сервиса |
|
Среда контейнеризации |
Да |
1.18 и выше |
Рекомендовано |
Платформа оркестрации для запуска компонентов сервиса |
|
4.6 и выше |
Опционально |
||||
Сервис централизованного хранения репозиториев артефактов |
Да |
2.15.1 выше |
Рекомендовано |
Интегрированная платформа для проксирования, хранения и управления образами, а также распространения ПО |
|
2.7.1 |
Опционально |
||||
Сервис централизованного хранения репозиториев исходного кода |
Да |
15 и выше |
Рекомендовано |
||
6.7.5 и выше |
Опционально |
||||
Брокер сообщений |
Да |
2.7.0 |
Опционально |
||
Сервис интеграции и оркестрации микросервисов в облаке |
Да |
1.12 |
Рекомендовано. Правообладателем АО «СберТех» также рекомендован сервис интеграции и оркестрации микросервисов в облаке, основанный на Istio, ‒ Platform V Synapse Service Mesh, см. раздел «Платформенные зависимости» |
Сервис интеграции микросервисов в облаке |
|
Инструмент сборки, тестирования, развертывания контейнеризированных приложений |
Да |
2.319.3 и выше |
Рекомендовано |
Сервер автоматизации, используемый для внедрения непрерывной интеграции и непрерывной доставки (CI/CD) для проектов программного обеспечения |
Примечание:
*
Да — категория ПО обязательна для функционирования сервиса (это означает, что сервис не может выполнять свои основные функции без установки данной категории ПО).
Нет — категория ПО необязательна для функционирования сервиса (это означает, что сервис может выполнять свои основные функции без установки данной категории ПО).
**
Рекомендовано — рекомендованный правообладателем АО «СберТех» продукт.
Опционально — альтернативный по отношению к рекомендованному правообладателем АО «СберТех» продукт.
Платформенные зависимости#
Для настройки, контроля и функционирования компонента APPR реализована интеграция с программными продуктами, правообладателем которых является АО «СберТех»:
Наименование продукта |
Код |
Версия продукта |
Код и наименование компонента |
Обязательность установки (да/нет) |
Описание |
Аналог других производителей |
|---|---|---|---|---|---|---|
Platform V IAM SE |
IAM |
1.3 |
AUTH IAM Proxy |
Нет |
Сервис выполняет функции аутентификации/авторизации запросов и реализует Policy Enforcement Point (PEP). Взаимодействует с провайдерами аутентификации/авторизации |
Любой OIDC провайдер |
Platform V Audit SE |
AUD |
2.3 |
AUDT Аудит |
Нет |
Сервис для аудирования событий |
Сервис успешно прошел испытания и подтвердил свою работоспособность с компонентом AUDT. С аналогами других производителей не тестировался |
Platform V Monitor |
OPM |
4.1 |
LOGA Журналирование |
Нет |
Сервис для хранения лог-файлов |
Любой сервис сбора записей о событиях, совместимый с fluent-bit, например: Elasticsearch, InfluxDB |
MONA Мониторинг |
Нет |
Сервис для сбора прикладных и инфраструктурных метрик и отправки их в целевую систему хранения |
Prometheus 2.21.0 |
|||
Platform V DevOps Tools |
DOT |
1.2 |
CDJE Deploy tools |
Да |
Сервис для развертывания и обновления компонентов, настройки и обслуживания инфраструктуры |
|
Platform V Synapse Enterprise Integration |
SEI |
2.9 |
SRLS Synapse Rate Limiter - сервис ограничения (квотирования) входящих запросов |
Нет |
Сервис ограничения (квотирования) входящих запросов, необходимый для ограничения прикладной нагрузки (payload) со стороны потребителя |
|
Platform V Frontend Std |
#FS |
4.2 |
CFGA PACMAN |
Нет |
Сервис осуществляет функции администрирования и динамического обновления конфигураций приложения. |
|
Platform V Backend Std |
#BD |
4.3 |
CFGA PACMAN |
Нет |
Сервис осуществляет функции администрирования и динамического обновления конфигураций приложения. |
|
Platform V Frontend Std |
#FS |
4.2 |
OTTS One-Time Password (OTP) / OTT |
Да |
Сервис для аутентификации и авторизации межсервисных взаимодействий. |
|
Platform V Frontend Std |
#BD |
4.3 |
OTTS One-Time Password (OTP) / OTT |
Да |
Сервис для аутентификации и авторизации межсервисных взаимодействий. |
Примечание:
***
Да — компонент или продукт необходим для функционирования сервиса (это означает, что сервис не может выполнять свои основные функции без установки данного компонента).
Нет — необязательный для функционирования сервиса компонент или продукт (это означает, что сервис может выполнять свои основные функции без установки данного компонента).
**** Рекомендуется установка программного продукта, правообладателем которого является АО «СберТех», при этом не исключена возможность (допускается правообладателем) использования аналога других производителей. Аналоги, в отношении которых продукт успешно прошел испытания и подтвердил свою работоспособность, указаны в разделе «Системное программное обеспечение».
У компонента APPR реализована интеграция со следующими компонентами из состава продукта:
Наименование компонента |
Код |
Описание |
|---|---|---|
Маршрутизация |
RTEF |
Сервис осуществляет определение маршрута для входящего пользователя |
Аппаратные требования#
Для установки компонента требуется следующая конфигурация аппаратного обеспечения:
Квота на проект: 3.65 CPU, 2.7 ГБ.
Количество pod APPR на один элемент развертывания (deployment unit): 2
Количество pod Ingress на один элемент развертывания (deployment unit): 1
Количество pod Egress на один элемент развертывания (deployment unit): 1
Характеристики sidecar-контейнеров:
sidecar istio-proxy: 0.3 CPU, 0.256 ГБ
sidecar fluent-bit: 0.2 CPU, 0.2 ГБ
Квота на pod c учетом sidecar-контейнеров:
модуль APPR: 1.5 CPU, 0.7 ГБ;
модуль Ingress: 0.45 CPU, 0.8 ГБ;
модуль Egress: 0.2 CPU, 0.5 ГБ;
Состав дистрибутива#
Архив с конфигурацией развертывания компонента#
Дистрибутив, содержащий конфигурационные файлы, необходимые для развертывания компонента.
Элемент дистрибутива |
Описание |
|---|---|
./conf/config/parameters/ |
Папка с файлами для параметризации приложений |
./conf/custom_property.conf.yml |
Файл с настраиваемыми параметрами приложений |
./conf/data/sup2/ |
Папка с файлами для импорта параметров CFGA для всех приложений |
./conf/data/audit/ |
Папка с файлами для импорта сущностей в AUDT |
./conf/distrib.yml |
Файл с настройками развертывания |
./conf/inventory/custom_property.yml |
Файл, описывающий основные параметры серверов, на которые будет осуществляться установка |
./conf/k8s/ |
Папка с конфигурационными файлами приложений для развертывания k8s |
./conf/version.conf |
Файл с версией джобы пайплайн |
Архив с бинарными артефактами компонента#
Дистрибутив, содержащий бинарные артефакты, необходимые для работы компонента.
Элемент дистрибутива |
Описание |
|---|---|
./bh/appr-bh/application-router |
Исполняемый файл APPR |
./conf/k8s/ |
Служебные конфигурационные файлы k8s |
Подготовка окружения#
Перед установкой дистрибутива с помощью CDJE:
Проверьте соответствие CDJE актуальной версии скриптов CDJE и версии, указанной в дистрибутиве /package/conf/version.conf
Проверьте наличие необходимых списков сценариев для запуска в списке сборки в Jenkins:
OPENSHIFT_INGRESS_EGRESS_DEPLOYOPENSHIFT_DEPLOYWAS_RUN_AUTOTESTCLEANUP_FP_CONFIGMIGRATION_FP_CONFFP_CONF_CHECKIMPORT_ALL_PARAMS
Настройки Istio, AUTH и необходимые сертификаты указываются с помощью CDJE. Подробная информация указана в документации компонента CDJE.
Примечание: в списке сборки в Jenkins может быть список сценариев для запуска SHIFT_OK, который включает в себя все вышеописанные списки сценариев для запуска.
Установка#
Компонент APPR не имеет собственных/встроенных механизмов обеспечения информационной безопасности и не предъявляет каких-либо требований к внешним соответствующим механизмам, в связи с чем они должны настраиваться и эксплуатироваться в соответствии со своей эксплуатационной документацией (см. Руководства по установке и Руководства по использованию соответствующих функциональных подсистем) и с оглядкой на уровень конфиденциальности обрабатываемой информации, требования внутренних документов, отраслевые/национальные/международные стандарты, требования уполномоченных регуляторов, национальное законодательство и лучшие практики. В процессе установки компонента APPR нет параметров настройки, доступных для изменения и связанных с внешними системами обеспечения информационной безопасности.
Установка и настройка программных и программно-аппаратных средств, в том числе внешних: операционной системы, другого системного программного обеспечения (необходимые сервисы, используемые сетевые порты, права пользователей, права доступа к файлам и каталогам, аудит и т.п.), выбранных в процессе создания конечной информационной системы, должна осуществляться в соответствии с документацией к этим средствам.
Порядок действий по установке на K8s компонента APPR в версии D-01.000.00-XXX средствами CDJE.
Для компонента APPR для аутентификации через компонент AUTH в IAM необходимо получить публичный сертификат Keycloak. Для получения публичного сертификата KeyCloak необходимо выполнить GET-запрос „/auth/realms/PlatformAuth“ на хост KeyCloak. В полученном json-ответе необходимо скопировать поле «x5c», в котором содержится публичный сертификат для верификации подписи JWT-токена.
Для взаимодействия с сервисом AUDT (Audit proxy) используя механизм TLS/mTLS необходимо запросить cертификаты для AUDT.
Сертификаты для Ingress, Egress и Kafka являются общеплатформенными.
Для взаимодействия с компонентом CFGA необходимости в ручной настройки нет, интеграция осуществляется на стороне CFGA.
Автоматизированная установка сервиса с использованием CDJE#
Для развертывания сервиса воспользуйтесь инструкцией по автоматизированной установке сервиса с использованием компонента CDJE.
Перед началом установки убедитесь, что выполнена подготовка окружения.
Миграция параметров#
Предварительно необходимо выполнить миграцию параметров, для этого выполните следующие действия:
Запустите сборку.
Нажмите «Собрать с параметрами».
В открывшейся странице с параметрами для сборки выполните следующие действия:
Выберите
SUBSYSTEM:APPLICATION_ROUTERВыберите
DISTRIB_VERSION:D—01.000.00-*(последнюю)Выберите OSE_CLUSTERS: <Кластер, в котором создан проект для APPR>
Выберите версию продукта: branch <Релиз>
Выберите списки сценариев для запуска:
CLEANUP_FP_CONFIGMIGRATION_FP_CONF
Нажмите «Собрать».
Убедиться, что установка прошла успешно. Статус сборки «SUCCESS». В репозитории конфигураций продукта созданы конфигурационные файлы.
Конфигурация Прикладного роутера#
Для конфигурации Прикладного роутера необходимо заполнить параметры в custom_property.conf.yml
* application_router.ose.ruleSetConfig - заменить значение default содержимым файла для конфигурирования правил
* опционально заполнить application_router.ose.targetGroupsConfig - на следующей строке после |- вставить содержимое файла для конфигурирования целевых групп
* опционально заполнить application_router.ose.indicesConfig - на следующей строке после |- вставить содержимое файла для конфигурирования индексов
Пример custom_property.conf.yml до изменений
# Конфигурация набора правил APPR, монтируется в ConfigMap; при значении 'default' создается одно правило /hello
application_router.ose.ruleSetConfig: |-
default
# Конфигурация набора целевых групп APPR, монтируется в ConfigMap, если не пустое значение
application_router.ose.targetGroupsConfig: |-
# Конфигурация набора индексов APPR, монтируется в ConfigMap, если не пустое значение
application_router.ose.indicesConfig: |-
Пример custom_property.conf.yml после изменений
# Конфигурация набора правил APPR, монтируется в ConfigMap; при значении 'default' создается одно правило /hello
application_router.ose.ruleSetConfig: |-
apiVersion: beta
ruleSet:
rules:
- name: proxy_rule
action: proxy
conditions:
- type: path
pattern: /target/info
targetGroup:
type: static
selector:
name: target1
defaultRule:
action: static
response:
code: 404
body: "ApplicationRouter new default rule"
# Конфигурация набора целевых групп APPR, монтируется в ConfigMap, если не пустое значение
application_router.ose.targetGroupsConfig: |-
apiVersion: beta
targetGroups:
- name: tg1
targets:
- name: target1
location: http://non-existing-target-1.sbrf.ru
- name: target2
location: http://non-existing-target-2.sbrf.ru
# Конфигурация набора индексов APPR, монтируется в ConfigMap, если не пустое значение
application_router.ose.indicesConfig: |-
Более подробно с конфигурацией правил, целевых групп, индексов Прикладного роутера можно ознакомиться в разделе «Конфигурации Прикладного роутера» документа Руководство по системному администрированию для компонента APPR.
Финальный этап установки#
Для установки сервиса с конфигурацией, настроенной в предыдущем шаге:
Запустите сборку.
Нажмите «Собрать с параметрами».
В открывшейся странице с параметрами для сборки выполните следующие действия:
Выберите
SUBSYSTEM:APPLICATION_ROUTERВыберите
DISTRIB_VERSION:D—01.000.00-*(последнюю)Выберите OSE_CLUSTERS: <Кластер, в котором создан проект для APPR>
Выберите версию продукта: branch <Релиз>
Выберите списки сценариев для запуска:
OPENSHIFT_INGRESS_EGRESS_DEPLOYOPENSHIFT_DEPLOYWAS_RUN_AUTOTESTFP_CONF_CHECKIMPORT_ALL_PARAMS
Нажмите «Собрать».
Настройка интеграции#
Настройка интеграции с компонентом CFGA#
Наименование параметра |
Описание |
Значение по умолчанию |
|---|---|---|
|
Путь до файла с ConfigMap Pacman (CFGA) |
/tmp/config/sup/${application_router.ose.configmap.pacman.metadata.name} |
|
Максимальная задержка при обновлении конфигурации файла с ConfigMap Pacman (CFGA) в runtime (в секундах) |
1 |
Настройка интеграции с компонентом RTEF#
После установки дистрибутива APPR в АРМ CFGA найдите и настройте параметры:
approuter.channel.sector.mapping— соответствие наименований каналов и кодов узлов топологии;approuter.destinationNodes— список destinationNodes для сектора;approuter.access.points— точки доступа;ufs.baseurl.ufs_routing— URL доступа к компоненту Маршрутизация (RTEF).
Для настройки параметра approuter.channel.sector.mapping в значении параметра укажите соответствие наименований
каналов и кодов узлов топологии в формате "<nodeCode>":"<channel>", где:
<nodeCode>— код узла топологии;<channel>— код канала.
Для настройки параметра approuter.destinationNodes укажите для каждого кода узла топологии (nodeCode) значение
nodePath узла топологии.
Для настройки параметра approuter.access.points в значении параметра укажите URL входа в систему для каждого
nodePath узла топологии в формате <nodePath>::<url>, где:
<nodePath>— значение nodePath узла топологии;<url>— URL, на который необходимо осуществить перенаправление пользователя.
Для настройки параметра ufs.baseurl.ufs_routing в значении параметра укажите URL доступа к компоненту Маршрутизация (RTEF):
при первичной установке в соответствии с глобальным параметром конфигурации среды
global.platform.ufs.baseurl.ufs_routing;при обновлении параметра с помощью АРМ CFGA.
Настройка интеграции с компонентом AUDT#
Ниже описана процедура интеграции с рекомендованным АО «СберТех» компонентом Аудит (AUDT) продукта Platform V Audit SE (AUD). На усмотрение пользователя может быть настроена интеграция с аналогичным по функциональности продуктом от других производителей.
Для настройки взаимодействия с компонентом AUDT по REST API в АРМ CFGA найдите и настройте параметр:
ufs.baseurl.audit2- хост сервиса AUDT.
Настройка интеграции с компонентом MONA#
Ниже описана процедура интеграции с рекомендованным АО «СберТех» компонентом Объединенный мониторинг Unimon (MONA) продукта Platform V Monitor (OPM). На усмотрение пользователя может быть настроена интеграция с аналогичным по функциональности продуктом от других производителей.
Cо стороны сервиса APPR для интеграции с компонентом MONA никаких действий не требуется. Для настройки интеграции необходимо для компонента MONA указать:
хост сервиса APPR;
значение порта сбора метрик
port=8081;path для сбора метрик
path=/metrics.
Настройка интеграции с компонентом LOGA#
Ниже описана процедура интеграции с рекомендованным АО «СберТех» компонентом Журналирование (LOGA) продукта Platform V Monitor (OPM). На усмотрение пользователя может быть настроена интеграция с аналогичным по функциональности продуктом от других производителей.
Для конфигурирования взаимодействия с компонентом LOGA необходимо в файле application-router.conf
настроить следующие параметры:
Наименование параметра в файле конфигурирования |
Описание параметра |
Ограничения |
Значение по умолчанию |
Версия ПО |
|---|---|---|---|---|
Параметры ресурсов CPU и MEM для fluent-bit-sidecar |
||||
application_router.ose.deployment.spec.template.spec.containers.fluentbit.resources.limits.cpu |
Стартовые ресурсы центрального процессора для сайдкара |
Значения и единицы измерения соответствуют правилам Kubernetes |
200m |
1.0 |
application_router.ose.deployment.spec.template.spec.containers.fluentbit.resources.limits.memory |
Стартовые ресурсы оперативной памяти для сайдкара |
Значения и единицы измерения соответствуют правилам Kubernetes |
200Mi |
1.0 |
application_router.ose.deployment.spec.template.spec.containers.fluentbit.resources.limits.ephemeral-storage |
Лимит для ephemeral-storage, задается в байтах |
Можно указать абсолютное значение или значение с указанием суффикса: E, P, T, G, M, K. Также можно использовать двухсимвольные суффиксы: Ei, Pi, Ti, Gi, Mi, Ki. Например, следующие значения установят одинаковое ограничение: |
${global.ose.deployment.spec.template.spec.containers.resources.limits.ephemeral-storage\2Gi} |
1.0.1 |
application_router.ose.deployment.spec.template.spec.containers.fluentbit.resources.requests.cpu |
Максимальные ресурсы центрального процессора для сайдкара |
Значения и единицы измерения соответствуют правилам Kubernetes |
200m |
1.0 |
application_router.ose.deployment.spec.template.spec.containers.fluentbit.resources.requests.memory |
Максимальные ресурсы оперативной памяти для сайдкара |
Значения и единицы измерения соответствуют правилам Kubernetes |
200Mi |
1.0 |
Параметры подключения к Kafka |
||||
application_router.fluentbit.kafka.bootstrap.servers |
Серверы Kafka для подключения |
${global.platform.logger.kafka.bootstrap.servers} |
1.0 |
|
application_router.fluentbit.kafka.topic |
Топик Kafka для подключения |
${global.platform.logger.kafka.topic} |
1.0 |
|
application_router.fluentbit.security.protocol |
Протокол подключения |
${global.platform.logger.kafka.security.protocol} |
1.0 |
|
application_router.fluentbit.monitoring_port_number |
Порт для сбора метрик |
9081 |
1.0 |
|
Сертификаты для подключения к Kafka |
||||
application_router.fluentbit.ssl.key.location |
Наименование файла с приватным ключом |
/etc/config/ssl/logger_private-key.pem |
1.0 |
|
application_router.fluentbit.ssl.certificate.location |
Наименование файла с сертификатом клиента |
/etc/config/ssl/logger_cert.pem |
1.0 |
|
application_router.fluentbit.ssl.ca.location |
Наименование файла с сертификатом удостоверяющего центра |
/etc/config/ssl/logger_cacerts.cer |
1.0 |
Настройка интеграции с компонентом AUTH#
Ниже описана процедура интеграции с рекомендованным АО «СберТех» компонентом IAM Proxy (AUTH) продукта Platform V IAM SE (IAM). На усмотрение пользователя может быть настроена интеграция с аналогичным по функциональности продуктом от других производителей.
Для конфигурирования взаимодействия с компонентом AUTH необходимо в файле application-router.conf
настроить следующие параметры:
Наименование параметра в файле конфигурирования |
Описание параметра |
Ограничения |
Значение по умолчанию |
Версия ПО |
|---|---|---|---|---|
Параметры аутентификатора для JWT-токена, полученного от AUTH |
||||
user_extractor_type |
Тип аутентификатора |
Значение из множества (sudir, iam) |
sudir |
1.0 |
iam_jws_token_header |
Имя заголовка в запросе, содержащего JWT-токен |
Значения соответствуют правилам именования заголовков запроса |
Authorization |
1.0 |
iam_audience |
Audience токена - список его получателей |
PlatformUFS |
1.0 |
|
iam_verify |
Флаг проверки токена (время жизни, подпись, audience) |
Значение из множества (true, false) |
false |
1.0 |
iam_public_key_pem_location |
Расположение файла публичного сертификата для проверки подписи |
/tmp/config/iam/iam-public-key.pem |
1.0 |
Помимо конфигурации данных параметров, в файле custom_property.conf.yml указать для параметра
application_router_iam_public_key значение true для добавления публичного сертификата iam-public-key.pem
в контейнер компонента APPR.
Настройка интеграции с компонентом OTTS#
В репозиториях с конфигурацией компонента Прикладной роутер (APPR) необходимо заполнить следующие параметры.
Файл конфигурации application-router.istio.all.conf (дистрибутив CI90000227_appr-distrib):
Название |
Описание |
Значения |
|---|---|---|
application_router.ose.istio.ott.ose_deploy |
Флаг установки OTTS |
|
application_router.ose.istio.egress.ott.grpc.port |
Порт GRPC |
На основании параметра global.ott.grpc.port |
application_router.ose.istio.egress.ott.service.url |
URL сервера OTTS |
На основании параметра global.ott.service.url |
application_router.ose.istio.egress.ott.module.id |
Идентификатор модуля |
|
application_router.ose.istio.egress.ott.service.hosts |
Host сервера OTTS |
На основании параметра global.ott.service.hosts |
application_router.ose.istio.egress.ott.certStore.path |
Путь до хранилща сертификата OTT.jks |
|
application_router.ose.istio.ingress.ott.grpc.port |
Порт GRPC |
На основании параметра global.ott.grpc.port |
application_router.ose.istio.ingress.ott.service.url |
URL сервера OTTS |
На основании параметра global.ott.service.url |
application_router.ose.istio.ingress.ott.module.id |
Идентификатор модуля |
|
application_router.ose.istio.ingress.ott.service.hosts |
Host сервера OTTS |
На основании параметра global.ott.service.hosts |
application_router.ose.istio.ingress.ott.certStore.path |
Путь до хранилща сертификата OTT.jks |
|
application_router.ose.istio.ott.cert.store.path |
Путь до хранилища сертификатов KeyStore |
На основании параметра ssl.ose.istio.keyStore.egress.KeyStoreFromFile |
application_router.ose.istio.ott.trustkeyStore.KeyStoreFromFile |
Путь до хранилища сертификатов TrustStore |
На основании параметра ssl.ose.istio.keyStore.egress.KeyStoreFromFile |
application_router.ose.istio.ott.keyStore.KeyStoreFromFile |
Путь до хранилища сертификатов KeyStore |
На основании параметра ssl.ose.istio.keyStore.egress.KeyStoreFromFile |
application_router.ose.istio.ott.rootCertAlias |
Alias для сертификата корневого УЦ |
На основании параметра ssl.ose.istio.keyStore.RootCertAlias |
application_router.ose.istio.ott.keyStore.pass |
Пароль от хранилища KeyStore |
На основании параметра ssl.ose.istio.keyStore.egress.password |
application_router.ose.istio.ott.trustkeyStore.pass |
Пароль от хранилища TrustStore |
На основании параметра ssl.ose.istio.keyStore.egress.password |
application_router.ose.istio.ott.trustStorePath |
Путь до хранилища сертификатов TrustStore |
|
application_router.ose.istio.ott.client.cert.alias |
Alias сертификата сервера OTTS |
|
application_router.ose.istio.ott.service.cert.alias |
Alias сертификата сервера OTTS |
На основании параметра global.ose.ott.service.cert.alias |
application_router.ose.istio.ott.store.type |
Выбор типа хранилища для OTTS |
|
application_router.ose.istio.egress.deployment.spec.template.spec.containers.ott.resources.limits.cpu |
Лимит ресурсов CPU для контейнера egress |
|
application_router.ose.istio.egress.deployment.spec.template.spec.containers.ott.resources.limits.memory |
Лимит ресурсов оперативной памяти для egress |
|
application_router.ose.istio.egress.deployment.spec.template.spec.containers.ott.resources.limits.ephemeral-storage |
Лимит ресурсов для хранилища данных |
|
application_router.ose.istio.egress.deployment.spec.template.spec.containers.ott.resources.requests.cpu |
Запрашиваемый объем ресурсов CPU для контейнера egress |
|
application_router.ose.istio.egress.deployment.spec.template.spec.containers.ott.resources.requests.memory |
Запрашиваемый объем ресурсов оперативной памяти для контейнера egress |
|
application_router.ose.istio.ingress.deployment.spec.template.spec.containers.ott.resources.limits.cpu |
Лимит ресурсов CPU для контейнера ingress |
|
application_router.ose.istio.ingress.deployment.spec.template.spec.containers.ott.resources.limits.memory |
Лимит ресурсов оперативной памяти для ingress |
|
application_router.ose.istio.ingress.deployment.spec.template.spec.containers.ott.resources.limits.ephemeral-storage |
Лимит ресурсов для хранилища данных |
|
application_router.ose.istio.ingress.deployment.spec.template.spec.containers.ott.resources.requests.cpu |
Запрашиваемый объем ресурсов CPU для контейнера ingress |
|
application_router.ose.istio.ingress.deployment.spec.template.spec.containers.ott.resources.requests.memory |
Запрашиваемый объем ресурсов оперативной памяти для контейнера ingress |
|
application_router.ose.istio.ott.gateway.name |
Название шлюза для OTTS |
На основании параметров application_router.ose.gateway и application_router.ose.istio.project.base_name |
Обновление#
Очистите ранее созданные ресурсы K8S согласно процедуре, описанной в разделе «Удаление».
Установите новую версию дистрибутива согласно процедуре, описанной в разделе «Установка».
Удаление#
Для удаления компонента APPR необходимо провести очистку всех ресурсов K8S, кроме Secret.
Удаляемые ресурсы можно отобрать по признаку наличия следующих меток (label):
app:application-router-r42deploymentconfig:application-router-r42
Соответствующая команда для удаления ресурсов компонента APPR будет выглядеть так:
kubectl delete deployments,services -l app=application-router-r42,deploymentconfig=application-router-r42
Проверка работоспособности#
Для проверки работоспособности перейдите по ссылкам:
http://<location>/application-router/environment/product, где <location> — значение location ingress route;
Если контекст приложения создался правильно, в открытом окне отражается запись, содержащая подстроку следующего формата:
{
"success":true,
"body": {
"subsystem":"APPLICATION_ROUTER",
"channel":"ALL",
"deploymentUnit":"application-router",
"version":"<Версия>",
"distribVersion":"D-01.000.00-*(последняя)",
"platform":"<Версия Platform V>",
"serverIp":"<IP-адрес сервера>",
"release":"<Релиз>"
}
}
В ответе обратите внимание только на параметры:
"success":true"subsystem":"APPLICATION_ROUTER""distribVersion":"D-01.000.00-*"
http://<location>/application-router/healthcheck, где <location> — значение location ingress route.
Если контекст приложения создался правильно, в открытом окне отражается запись, содержащая подстроку следующего формата:
{
"success": true,
"body": "app is up!"
}
В ответе обратите внимание только на параметры:
"success":true;
Если параметры ответов на запросы заполнены корректными данными, установка прошла успешно.
Вызвать указанные сервисы можно с помощью curl:
curl -X GET http://<location>/application-router/environment/product
curl -X GET http://<location>/application-router/healthcheck
Чек-лист проверки работоспособности интеграций#
При интеграции сервиса с компонентами работоспособность APPR проверяется по приведенным ниже инструкциям.
Команда для проверки интеграций#
Подходит для проверки интеграций с компонентами AUTH, CFGA, RTEF, MONA, AUDT, OTTS. Проверка интеграции с компонентом LOGA происходит без выполнения данной команды посредством изменения уровня записи событий системного журнала в CFGA.
curl --request GET 'http://<location>/ufs-user-entry/api/v1/entry/channel/<channel>/info' \
--header 'Authorization: <JWT>' \
--header 'Content-Type: application/json'
Где:
<location>— значениеlocation ingress route;<channel>— значение канала для входа;<JWT>— JWT-токен, сформированный компонентом AUTH для пользователя.
Успешный ответ#
{
"success": true,
"body": {
"url": "https://<access-point-location>/",
"httpStatus": 200
}
}
Где:
<access-point-location>— URL, куда надо перенаправить пользователя.
Неуспешный ответ#
{
"success": false,
"body": {
"uuid": "<uuid>",
"code": "",
"system": "<system>",
"title": "",
"text": "<text>"
}
}
Где:
<uuid>— идентификатор ошибки;<system>- код SUBSYSTEM компонента, вернувшего ошибку;<text>- текст ошибки.
Проверка интеграции с компонентом AUTH#
Проверка правильной подписи JWT-токена, полученного от AUTH:
Шаг |
Действие |
Ожидаемый результат |
|---|---|---|
1 |
Авторизоваться в AUTH |
Авторизация успешна. Отобразилась главная страница AUTH |
2 |
Скопировать JWT-токен, полученный от Platform V IAM SE |
JWT-токен сохранен в буфере обмена |
3 |
Выполнить |
Получен |
Проверка блокирования запросов с невалидным JWT-токеном, полученным от AUTH:
Шаг |
Действие |
Ожидаемый результат |
|---|---|---|
1 |
Авторизоваться в AUTH |
Авторизация успешна. Отобразилась главная страница AUTH |
2 |
Скопировать JWT-токен, полученный от IAM, и изменить его |
JWT-токен становится невалидным |
3 |
Выполнить |
Получен |
Проверка интеграции с компонентом CFGA#
Проверка обновления параметров APPR по их изменению в АРМ CFGA:
Шаг |
Действие |
Ожидаемый результат |
|---|---|---|
1 |
Авторизоваться в АРМ CFGA |
Авторизация успешна. Отобразилась главная страница АРМ CFGA. |
2 |
Найти в АРМ CFGA параметр |
Параметр обнаружен, в значении указано соответствие наименований каналов и кодов узлов топологии |
3 |
Найти в АРМ CFGA параметр |
Параметр обнаружен, в значении указаны URL, соответствующие точкам доступа |
4 |
Выполнить |
Получен |
5 |
Изменить в АРМ CFGA параметр |
В значении указаны новые URL, соответствующие точкам доступа |
6 |
Выполнить |
Получен |
Проверка интеграции с компонентом LOGA#
Проверка записи и обновления уровня событий системного журнала (из раздела «События системного журнала» документа «Руководство по системному администрированию» для компонента APPR) в АРМ LOGA:
Шаг |
Действие |
Ожидаемый результат |
|---|---|---|
1 |
Авторизоваться в АРМ CFGA |
Авторизация успешна. Отобразилась главная страница АРМ CFGA. |
2 |
Найти в АРМ CFGA параметр |
Параметр обнаружен, в значении указан уровень записи событий системного журнала |
3 |
Авторизоваться в АРМ LOGA |
Авторизация успешна. Отобразилась главная страница АРМ LOGA. |
4 |
Найти в АРМ LOGA записи системного журнала для APPR |
Журнал событий обнаружен |
5 |
Обновить в АРМ CFGA параметр |
Параметр изменен, уровень записи событий системного журнала APPR изменился |
6 |
Проверить системный журнал для APPR в АРМ LOGA |
Обнаружены новые события с уровнем |
Проверка интеграции с компонентом RTEF#
Проверка динамической маршрутизации пользователя в соответствии со стратегией, определенной в компоненте RTEF:
Шаг |
Действие |
Ожидаемый результат |
|---|---|---|
1 |
Авторизоваться в AUTH под выбранным пользователем |
Авторизация успешна. Отобразилась главная страница AUTH |
2 |
Авторизоваться в АРМ RTEF |
Авторизация успешна. Отобразилась главная страница АРМ RTEF. |
3 |
Найти в АРМ RTEF стратегию перенаправления для выбранного пользователя для выбранного канала |
Стратегия обнаружена, для выбранного пользователя известна точка доступа для выбранного канала |
4 |
Выполнить |
Получен |
5 |
Обновить в АРМ LOGA стратегию перенаправления для выбранного пользователя для выбранного канала |
Стратегия обновлена, для выбранного пользователя изменилась точка доступа для выбранного канала |
6 |
Выполнить |
Получен |
Проверка интеграции с компонентом MONA#
Проверка обновления метрик в АРМ MONA:
Шаг |
Действие |
Ожидаемый результат |
|---|---|---|
1 |
Авторизоваться в АРМ MONA |
Авторизация успешна. Отобразилась главная страница АРМ MONA. |
2 |
Найти в АРМ MONA значения метрик для APPR |
Метрики отображаются успешно |
3 |
Выполнить |
Получен |
4 |
Убедиться, что в АРМ MONA значения метрик для APPR обновились |
Значения метрик, соответствующих успешности ответа ( |
Проверка интеграции с компонентом AUDT#
Проверка отправки событий аудита в АРМ AUDT:
Шаг |
Действие |
Ожидаемый результат |
|---|---|---|
1 |
Авторизоваться в АРМ AUDT |
Авторизация успешна. Отобразилась главная страница АРМ AUDT. |
2 |
Найти в АРМ AUDT журнал событий аудита для APPR |
Журнал событий аудита обнаружен |
3 |
Выполнить |
Получен |
4 |
Убедиться, что в АРМ AUDT добавилось событие для APPR |
В журнале событий аудита появилось новое событие, соответствующее успешности ответа ( |
Откат#
Откат к предыдущей версии компонента APPR не предусмотрен, так как это первая версия продукта ASD.
Часто встречающиеся проблемы и пути их устранения#
При ошибке установки в Kubernetes посмотрите лог сборки в Jenkins. Если ошибка связана с настройками, произведите правки в common репозитории CDJE или репозитории с конфигурацией APPR. Если необходимо внести изменения в конфигурацию и пересобрать дистрибутив, обратитесь к команде разработки APPR.
При ошибке импорта в компонентах LOGA, CFGA проверьте корректность настройки URL для импорта в common репозитории CDJE и работоспособность самих компонентов.
Чек-лист валидации установки#
№ |
Выполненные действия |
Признак обязательности |
Примечание |
|---|---|---|---|
1 |
Создан репозиторий для хранения конфигурации |
Нет |
Для установки компонентом CDJE смотрите раздел «Установка с помощью компонента CDJE» |
2 |
Создан namespace в кластере K8s или OSE |
Да |
Смотрите раздел «Создание namespace в K8s или OSE» |
3 |
Произведена настройка common репозитория |
Нет |
Для установки компонентом CDJE смотрите раздел «Установка с помощью компонента CDJE» |
4 |
Проведена миграция конфигурации |
Нет |
Для установки компонентом CDJE смотрите раздел «Миграция конфигурации из дистрибутива в репозитории» |
5 |
Внесены изменения в стандартную конфигурацию |
Нет |
Для установки компонентом CDJE смотрите раздел «Установка с помощью компонента CDJE» |
6 |
Выполнена установка компонентов istio (ingress gateway / egress gateway) в кластер K8s/OSE на основании файлов конфигурации: Deployment, VirtualService, ServiceEntry, Gateway, ConfigMap |
Да |
Для установки компонентом CDJE - при установке был выбран список сценариев для запуска «OPENSHIFT_INGRESS_EGRESS_DEPLOY», смотрите раздел «Установка с помощью компонента CDJE». В K8s/OSE созданы соответствующие объекты |
7 |
Выполнена установка сервисов APPR: application-router |
Да |
Для установки компонентом CDJE - при установке был выбран список сценариев для запуска OPENSHIFT_DEPLOY смотрите раздел «Установка с помощью компонента CDJE». В K8s/OSE созданы соответствующие объекты |
8 |
Выполнена проверка работоспособности |
Да |
Смотрите раздел «Проверка работоспособности» |
9 |
Добавлены junction параметры в конфигурации сервисов IAM/WEB Seal со значением маршрута до ingress gateway APPR |
Нет |
Для внесения изменений конфигурации AUTH смотрите раздел «Руководство по системному администрированию» для AUTH |
10 |
Произведена настройка интеграций |
Нет |
Смотрите раздел «Чек-лист проверки работоспособности интеграций» |