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

В руководстве приведены инструкции по установке компонента Прикладной роутер (APPR) продукта Platform V Application Sharding (ASD). Документ предназначен для администраторов, выполняющих установку, настройку и сопровождение компонента APPR.

Этот документ содержит названия переменных, которые одинаково применимы для различных сред контейнеризации, указанных в системных требованиях. Имя переменной не определяет конкретную среду контейнеризации.

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

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

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

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

Категория ПО

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

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

Версия

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

Описание

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

Да

Docker Scratch

-

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

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

Red Hat Enterprise Linux

7.9

Опционально

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

Да

Docker CE

19.03.9 и выше

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

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

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

Да

Kubernetes

1.18 и выше

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

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

Red Hat OpenShift

4.6 и выше

Опционально

Сервис централизованного хранения репозиториев артефактов

Да

Nexus-Public

2.15.1 выше

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

Интегрированная платформа для проксирования, хранения и управления образами, а также распространения ПО

Nexus 2

2.7.1

Опционально

Сервис централизованного хранения репозиториев исходного кода

Да

GitLab Community Edition

15 и выше

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

Bitbucket

6.7.5 и выше

Опционально

Брокер сообщений

Да

Apache Kafka

2.7.0

Опционально

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

Да

Istio

1.12

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

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

Инструмент сборки, тестирования, развертывания контейнеризированных приложений

Да

Jenkins

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_DEPLOY

    • OPENSHIFT_DEPLOY

    • WAS_RUN_AUTOTEST

    • CLEANUP_FP_CONFIG

    • MIGRATION_FP_CONF

    • FP_CONF_CHECK

    • IMPORT_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.

Перед началом установки убедитесь, что выполнена подготовка окружения.

Миграция параметров#

Предварительно необходимо выполнить миграцию параметров, для этого выполните следующие действия:

  1. Запустите сборку.

  2. Нажмите «Собрать с параметрами».

  3. В открывшейся странице с параметрами для сборки выполните следующие действия:

    • Выберите SUBSYSTEM: APPLICATION_ROUTER

    • Выберите DISTRIB_VERSION: D—01.000.00-* (последнюю)

    • Выберите OSE_CLUSTERS: <Кластер, в котором создан проект для APPR>

    • Выберите версию продукта: branch <Релиз>

    • Выберите списки сценариев для запуска:

      • CLEANUP_FP_CONFIG

      • MIGRATION_FP_CONF

  4. Нажмите «Собрать».

Убедиться, что установка прошла успешно. Статус сборки «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.

Финальный этап установки#

Для установки сервиса с конфигурацией, настроенной в предыдущем шаге:

  1. Запустите сборку.

  2. Нажмите «Собрать с параметрами».

  3. В открывшейся странице с параметрами для сборки выполните следующие действия:

    • Выберите SUBSYSTEM: APPLICATION_ROUTER

    • Выберите DISTRIB_VERSION: D—01.000.00-* (последнюю)

    • Выберите OSE_CLUSTERS: <Кластер, в котором создан проект для APPR>

    • Выберите версию продукта: branch <Релиз>

    • Выберите списки сценариев для запуска:

      • OPENSHIFT_INGRESS_EGRESS_DEPLOY

      • OPENSHIFT_DEPLOY

      • WAS_RUN_AUTOTEST

      • FP_CONF_CHECK

      • IMPORT_ALL_PARAMS

  4. Нажмите «Собрать».

Настройка интеграции#

Настройка интеграции с компонентом CFGA#

Наименование параметра

Описание

Значение по умолчанию

sup_file_path

Путь до файла с ConfigMap Pacman (CFGA)

/tmp/config/sup/${application_router.ose.configmap.pacman.metadata.name}

sup_file_delay_sec

Максимальная задержка при обновлении конфигурации файла с 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. Например, следующие значения установят одинаковое ограничение:
- 128974848
- 129e6
- 129M
- 123Mi
Подробное описание приведено в документации Kubernetes

${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

false или на основании global.ott.ose_deploy

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

Идентификатор модуля

ci90000227_appr_ и далее на основании параметра SEGMENT_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.egress.ott.certStore.path=/mnt/secrets/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

Идентификатор модуля

ci90000227_appr_ и далее на основании параметра SEGMENT_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

/mnt/secrets/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

/mnt/secrets/ott.jks

application_router.ose.istio.ott.client.cert.alias

Alias сертификата сервера OTTS

ci90000227_appr_ и далее на основании параметра SEGMENT_ID

application_router.ose.istio.ott.service.cert.alias

Alias сертификата сервера OTTS

На основании параметра global.ose.ott.service.cert.alias

application_router.ose.istio.ott.store.type

Выбор типа хранилища для OTTS

PEM или на основании параметра global.ott.store.type

application_router.ose.istio.egress.deployment.spec.template.spec.containers.ott.resources.limits.cpu

Лимит ресурсов CPU для контейнера egress

800m

application_router.ose.istio.egress.deployment.spec.template.spec.containers.ott.resources.limits.memory

Лимит ресурсов оперативной памяти для egress

1000Mi

application_router.ose.istio.egress.deployment.spec.template.spec.containers.ott.resources.limits.ephemeral-storage

Лимит ресурсов для хранилища данных

512Mi или на основании параметра global.ose.deployment.spec.template.spec.containers.resources.limits.ephemeral-storage

application_router.ose.istio.egress.deployment.spec.template.spec.containers.ott.resources.requests.cpu

Запрашиваемый объем ресурсов CPU для контейнера egress

300m

application_router.ose.istio.egress.deployment.spec.template.spec.containers.ott.resources.requests.memory

Запрашиваемый объем ресурсов оперативной памяти для контейнера egress

500Mi

application_router.ose.istio.ingress.deployment.spec.template.spec.containers.ott.resources.limits.cpu

Лимит ресурсов CPU для контейнера ingress

1000m

application_router.ose.istio.ingress.deployment.spec.template.spec.containers.ott.resources.limits.memory

Лимит ресурсов оперативной памяти для ingress

1000Mi

application_router.ose.istio.ingress.deployment.spec.template.spec.containers.ott.resources.limits.ephemeral-storage

Лимит ресурсов для хранилища данных

512Mi или на основании параметра global.ose.deployment.spec.template.spec.containers.resources.limits.ephemeral-storage

application_router.ose.istio.ingress.deployment.spec.template.spec.containers.ott.resources.requests.cpu

Запрашиваемый объем ресурсов CPU для контейнера ingress

300m

application_router.ose.istio.ingress.deployment.spec.template.spec.containers.ott.resources.requests.memory

Запрашиваемый объем ресурсов оперативной памяти для контейнера ingress

500Mi

application_router.ose.istio.ott.gateway.name

Название шлюза для OTTS

На основании параметров application_router.ose.gateway и application_router.ose.istio.project.base_name

Обновление#

  1. Очистите ранее созданные ресурсы K8S согласно процедуре, описанной в разделе «Удаление».

  2. Установите новую версию дистрибутива согласно процедуре, описанной в разделе «Установка».

Удаление#

Для удаления компонента APPR необходимо провести очистку всех ресурсов K8S, кроме Secret.

Удаляемые ресурсы можно отобрать по признаку наличия следующих меток (label):

  • app: application-router-r42

  • deploymentconfig: 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

Выполнить Команду для проверки интеграций

Получен Неуспешный ответ с сообщением о невалидности JWT-токена

Проверка интеграции с компонентом CFGA#

Проверка обновления параметров APPR по их изменению в АРМ CFGA:

Шаг

Действие

Ожидаемый результат

1

Авторизоваться в АРМ CFGA

Авторизация успешна. Отобразилась главная страница АРМ CFGA.

2

Найти в АРМ CFGA параметр approuter.channel.sector.mapping

Параметр обнаружен, в значении указано соответствие наименований каналов и кодов узлов топологии

3

Найти в АРМ CFGA параметр approuter.access.points

Параметр обнаружен, в значении указаны URL, соответствующие точкам доступа

4

Выполнить Команду для проверки интеграций для одного из наименований каналов

Получен Успешный ответ c URL в теле запроса для соответствующей точки доступа

5

Изменить в АРМ CFGA параметр approuter.access.points

В значении указаны новые URL, соответствующие точкам доступа

6

Выполнить Команду для проверки интеграций для одного из наименований каналов

Получен Успешный ответ c новым URL в теле запроса для соответствующей точки доступа

Проверка интеграции с компонентом LOGA#

Проверка записи и обновления уровня событий системного журнала (из раздела «События системного журнала» документа «Руководство по системному администрированию» для компонента APPR) в АРМ LOGA:

Шаг

Действие

Ожидаемый результат

1

Авторизоваться в АРМ CFGA

Авторизация успешна. Отобразилась главная страница АРМ CFGA.

2

Найти в АРМ CFGA параметр approuter.logger.app.level

Параметр обнаружен, в значении указан уровень записи событий системного журнала

3

Авторизоваться в АРМ LOGA

Авторизация успешна. Отобразилась главная страница АРМ LOGA.

4

Найти в АРМ LOGA записи системного журнала для APPR

Журнал событий обнаружен

5

Обновить в АРМ CFGA параметр approuter.logger.app.level на значение DEBUG

Параметр изменен, уровень записи событий системного журнала APPR изменился

6

Проверить системный журнал для APPR в АРМ LOGA

Обнаружены новые события с уровнем DEBUG

Проверка интеграции с компонентом RTEF#

Проверка динамической маршрутизации пользователя в соответствии со стратегией, определенной в компоненте RTEF:

Шаг

Действие

Ожидаемый результат

1

Авторизоваться в AUTH под выбранным пользователем

Авторизация успешна. Отобразилась главная страница AUTH

2

Авторизоваться в АРМ RTEF

Авторизация успешна. Отобразилась главная страница АРМ RTEF.

3

Найти в АРМ RTEF стратегию перенаправления для выбранного пользователя для выбранного канала

Стратегия обнаружена, для выбранного пользователя известна точка доступа для выбранного канала

4

Выполнить Команду для проверки интеграций для выбранного канала и JWT-токена выбранного пользователя

Получен Успешный ответ c URL в теле запроса для соответствующей точки доступа

5

Обновить в АРМ LOGA стратегию перенаправления для выбранного пользователя для выбранного канала

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

6

Выполнить Команду для проверки интеграций для выбранного канала и JWT-токена выбранного пользователя

Получен Успешный ответ c измененным URL в теле запроса для измененной точки доступа

Проверка интеграции с компонентом MONA#

Проверка обновления метрик в АРМ MONA:

Шаг

Действие

Ожидаемый результат

1

Авторизоваться в АРМ MONA

Авторизация успешна. Отобразилась главная страница АРМ MONA.

2

Найти в АРМ MONA значения метрик для APPR

Метрики отображаются успешно

3

Выполнить Команду для проверки интеграций

Получен Успешный ответ / Неуспешный ответ

4

Убедиться, что в АРМ MONA значения метрик для APPR обновились

Значения метрик, соответствующих успешности ответа (APPLICATION_ROUTER_GETROUTETOKEN_SUCCESS / APPLICATION_ROUTER_GETROUTETOKEN_FAIL), обновились

Проверка интеграции с компонентом AUDT#

Проверка отправки событий аудита в АРМ AUDT:

Шаг

Действие

Ожидаемый результат

1

Авторизоваться в АРМ AUDT

Авторизация успешна. Отобразилась главная страница АРМ AUDT.

2

Найти в АРМ AUDT журнал событий аудита для APPR

Журнал событий аудита обнаружен

3

Выполнить Команду для проверки интеграций

Получен Успешный ответ / Неуспешный ответ

4

Убедиться, что в АРМ AUDT добавилось событие для APPR

В журнале событий аудита появилось новое событие, соответствующее успешности ответа (GET_URL_SUCCESS / GET_URL_FAIL)

Откат#

Откат к предыдущей версии компонента 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

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

Нет

Смотрите раздел «Чек-лист проверки работоспособности интеграций»