Руководство по установке#
В руководстве приведены инструкции по установке продукта Platform V Synapse File Exchange (FEX)
Системные требования#
Настройки безопасности окружения и перечень платформенных (дополнительных внешних) продуктов, используемых для установки, настройки и контроля в конечной информационной системе (далее — ИС), выбираются клиентом при разработке конечной ИС, исходя из характера обрабатываемой в ней информации и иных требований информационной безопасности (далее — ИБ), предъявляемых к ней.
Системное программное обеспечение#
Ниже представлены категории системного программного обеспечения (далее — ПО), которые обязательны или опциональны для установки, настройки, контроля и функционирования компонента. В каждой категории перечислены все поддерживаемые продукты сторонних правообладателей. Отдельно обозначены варианты, которые рекомендует АО «СберТех» (маркировка «Рекомендовано» в столбце «Продукт, функциональная совместимость с которым подтверждена»). Клиенту необходимо выбрать один из продуктов в каждой категории, исходя из условий использования конечной ИС.
Категория ПО |
Обязательность установки (да/нет) |
Наименование ПО |
Версия |
Продукт, функциональная совместимость с которым подтверждена |
Описание |
|---|---|---|---|---|---|
Операционная система |
Да |
10.0 |
Рекомендовано |
ОС контейнеров для запуска модулей компонента |
|
Red Hat Enterprise Linux |
8.5 |
Опционально |
|||
Да |
SberLinux |
8.8.1 |
Рекомендовано |
ОС контейнеров для запуска модулей компонента |
|
Сервис интеграции и оркестрации микросервисов в облаке |
Да |
1.22.2 |
Рекомендовано |
Платформа контейнеризации для запуска компонентов сервиса |
|
Брокер сообщений |
Да |
3.1.0 |
Рекомендовано. Правообладателем АО «СберТех» также рекомендован брокер сообщений, основанный на Kafka, – Platform V Corax, см. раздел «Платформенные зависимости» |
Средство обмена сообщениями между модулями компонента |
|
Средство централизованного управления сетевым трафиком |
Да |
1.12 |
Рекомендовано. Правообладателем АО «СберТех» также рекомендован сервис интеграции и оркестрации микросервисов в облаке, основанный на Istio, – Platform V Synapse Service Mesh, см. раздел «Платформенные зависимости» |
Сервис интеграции микросервисов в облаке |
|
Хранилище данных |
Да |
Любое хранилище данных, поддерживающее работу по S3 протоколу |
Временное хранилище для файлов во время интеграции |
||
Мониторинг |
Нет |
Prometheus |
2.21 |
Опционально |
Средства мониторинга приложения в процессе работы |
Нет |
Grafana |
9.1 |
Опционально |
Средства мониторинга приложения в процессе работы |
|
JVM |
Да |
OpenJDK |
11 |
Рекомендовано |
Средство запуска приложений, написанных на языке Java |
Secret Management System (SecMan) |
Нет |
HashiCorp Vault |
1.11.0 |
Рекомендовано |
Система управления ключами и сертификатами |
Таблица. Системное программное обеспечение
Примечание:
*
Да — категория ПО обязательна для функционирования сервиса (это означает, что сервис не может выполнять свои основные функции без установки данной категории ПО).
Нет — категория ПО необязательна для функционирования сервиса (это означает, что сервис может выполнять свои основные функции без установки данной категории ПО).
**
Рекомендовано — рекомендованный правообладателем АО «СберТех» продукт.
Опционально — альтернативный по отношению к рекомендованному правообладателем АО «СберТех» продукт.
Платформенные зависимости#
Для настройки, контроля и функционирования компонента реализована интеграция с программными продуктами, правообладателем которых является АО «СберТех»:
Наименование продукта |
Код |
Версия продукта |
Код и наименование компонента |
Обязательность установки (да/нет) |
Описание |
Аналог других производителей |
|---|---|---|---|---|---|---|
Platform V SberLinux OS Server |
SLO |
8.8.1 |
INST Операционная система |
Да |
Программная среда, обеспечивающая работу приложения |
Альт СП |
Platform V Pangolin SE |
PSQ |
5.1 и выше |
PSQL Pangolin |
Да |
СУБД |
PostgreSQL 13.4 и выше |
Platform V Corax |
KFK |
7.0 и выше |
KFKA Corax |
Нет |
Брокер сообщений |
Apache Kafka 3.1 и выше |
Platform V Synapse Service Mesh |
SSM |
2.10 |
IGEG Граничный прокси |
Нет |
Панель управления с открытым исходным кодом, служащая для взаимодействия, мониторинга и обеспечения безопасности контейнеров в среде контейнеризации Kubernetes |
Istio |
Platform V Monitor |
OPM |
4.1 |
LOGA Журналирование |
Нет |
Сервис для хранения лог-файлов |
Любой сервис сбора записей о событиях, совместимый с fluent-bit |
Platform V Monitor |
OPM |
4.1 |
MONA Объединенный мониторинг Unimon |
Нет |
Сервис для сбора прикладных и инфраструктурных метрик и отправки их в целевую систему хранения |
Prometheus 2.21 и выше |
Platform V Monitor |
OPM |
4.1 |
LGDB Abyss (Тенгри) |
Нет |
Сервис предназначен для приема, предварительной обработки, хранения метрик и логов |
|
Platform V Audit SE |
AUD |
2.3 |
Аудит (AUDT) |
Нет |
Регистрация и долговременное хранение событий информационной безопасности из автоматизированной системы |
|
Platform V Backend |
#BD |
4.3 и выше |
OTTS Система аутентификации и авторизации межсервисного взаимодействия |
Нет |
Генерация одноразовых токенов для передачи файлов |
|
Platform V IAM SE |
IAM |
1.6 и выше |
AUTH IAM Proxy |
Нет |
Выполняет функции аутентификации/авторизации запросов. Реализует Policy Enforcement Point (PEP). Взаимодействует с провайдерами аутентификации/авторизации. |
|
Platform V DropApp |
K8S |
1.1 и выше |
K8SC K8S Core |
Нет |
Платформа оркестрации контейнеризованных приложений |
Kubernetes |
Таблица. Платформенные зависимости
Примечание:
***
Да — компонент или продукт необходим для функционирования сервиса (это означает, что сервис не может выполнять свои основные функции без установки данного компонента).
Нет — необязательный для функционирования сервиса компонент или продукт (это означает, что сервис может выполнять свои основные функции без установки данного компонента).
**** Рекомендуется установка программного продукта, правообладателем которого является АО «СберТех», при этом не исключена возможность (допускается правообладателем) использования аналога других производителей. Аналоги, в отношении которых продукт успешно прошел испытания и подтвердил свою работоспособность, указаны в разделе «Системное программное обеспечение».
Аппаратные требования#
Для установки компонента требуется следующая конфигурация аппаратного обеспечения:
Квота на проект: 2 CPU, 3000Mi RAM.
Название компонента |
Кол-во pod на один элемент развертывания (deployment unit) |
Квота на Pod |
|---|---|---|
FTRF |
1 |
1 CPU, 1000Mi RAM |
FSGW |
1 |
1000m CPU, 2000Mi RAM |
FXIA |
1 |
1000m, 1000Mi RAM |
Для компонентов разворачиваемых на VM
Название компонента |
CPU |
RAM |
HDD |
|---|---|---|---|
TFSX |
4 |
8 Гб |
250 (150) Гб |
CRDN |
2 |
4 Гб |
250 (150) Гб |
XFTP |
1 |
4 ГБ |
10 (5) ГБ |
Состав дистрибутива#
Состав дистрибутива приведен в Руководстве по установке в разделе «Состав дистрибутива» для каждого компонента, входящего в состав продукта.
Настройка окружения#
заведение bucket в S3 хранилище;
получения доступа к bucket в S3 хранилище;
настройка Kubernetes кластера для развертывания программного продукта.
настройка базы данных;
настройка брокера сообщений;
настройка Hazelcast;
настройка доступа к хранилищу секретов;
настройка доступа к аудиту
Подробное описание приведено в документации на компонент FTRF, FSGW, TFSX, CRDN, FXIA, XFTP
Установка#
Ручная установка#
Сборка дистрибутива продукт FEX#
Настройка параметров для распаковки продукт FEX#
Параметры требуются для настроек координат загрузки/выгрузки продукта, а так же для мэпинга, пересборки и перекладки компонентов продукта FEX. Настройки хранятся по пути resources/fex/ в yaml формате.
Допускается создание произвольного файла с конфигурацией параметров, если есть такая необходимость. Структура файла с произвольной конфигурацией должна
соответствовать примерам: fex-merger.config.yaml.
Описание настроек:
solution.download.url - Nexus репозиторий для загрузки продукта FEX
solution.download.groupId - groupId в Nexus репозитории для загрузки продукта FEX
solution.download.artifactId - artifactId в Nexus репозитории для загрузки продукта FEX
solution.download.creds - СredentialID для доступа к репозиторию Nexus, для загрузки продукта FEX
solution.upload.url - Nexus репозиторий для выгрузки пересобранного продукта FEX
solution.upload.groupId - groupId в Nexus репозитории для выгрузки пересобранного продукта FEX
solution.upload.artifactId - artifactId в Nexus репозитории для выгрузки пересобранного продукта FEX
solution.upload.creds - СredentialID для доступа к репозиторию Nexus, для выгрузки пересобранного продукта FEX
fpItems - Список элементов компонент дистрибутива для пересборки контейнеров.
name - имя элемента пересборки. Имя элемента можно найти в дистрибутиве компонента в папке package/docker, каждая папка является отдельным элементом для пересборки. Имя является регистрозависимым параметром и должно точно соответствовать имени папки.
dockerRegistryHost - Host Name репозитория Docker Registry
dockerRegistryRepo - Название репозитория Docker Registry
dockerRegistryCred - СredentialID для доступа к репозиторию Docker Registry
dockerRegistryCI - Путь размещения образа
dockerRegistryProject - Название проекта для размещения образа. Финальный путь будет определяться как dockerRegistryCI/dockerRegistryProject
dockerRegistryImageName - Название docker образа
dockerRegistryBaseImageName - Ссылка на базовый образ для пересборки
components - Список компонентов дистрибутива.
name - имя компоненты
patern - паттерн для поиска компоненты в дистрибутиве. Патерн будет применятся к каждому файлу в дистрибутива. Например если компонент в составе дистрибутива называется 'ftrfdev-bin-2.0.7-7-distrib.zip' , то можно использовать паттерн 'ftrfdev' для индитификации данного компонента.
rebuild - Значения: enabled/disabled. Пересобирать docker образы компонента или нет
nexusUpload - Значения: enabled/disabled. Выгружать пересобранную компоненту в отдельный репозиторий или нет
url - Nexus репозиторий для выгрузки пересобранной компоненты
groupId - groupId в Nexus репозитории для выгрузки пересобранной компоненты
artifactId - artifactId в Nexus репозитории для выгрузки пересобранной компоненты
creds - redentialID для доступа к репозиторию Nexus, для выгрузки пересобранной компоненты
Создание Jenkins Job для распаковки продукта FEX#
Создать репозиторий в BitBucket и положить в него содержимое архива.
Отредактировать конфигурацию resources/fex/fex-merger.config.yaml, либо создать новую (см п. I).
Создать в Jenkins Job типа Pipeline.
Выбрать 'Это - параметризованная сборка'.
Добавить параметр Jenkins Job типа String с именем VERSION.
В случае если имя вашей jenkins Node отличается от 'clearAgent', необходимо добавить параметр Jenkins Job типа String с именем NODE.
В случае если вы создали свой конфигурационный файл (см п. I), необходимо добавить параметр jenkins Job типа String с именем CONFIG_FILE указав имя вашего файла с конфигурацией по умолчанию.
В поле 'Pipeline->Definition' выбрать пункт 'Pipeline script from SCM'.
В поле 'SCM' выбрать пункт 'git'.
В поле 'Repository URL' указать ссылку на ваш репозиторий, созданный в п.1.
В поле 'Credentials' указать CredentialID для доступа к репозиторию.
В поле 'Branch Specifier (blank for 'any')' указать ветку в репозитории из п.1.
В поле 'Script Path' указать 'pipelines/fex/fex-merger.groovy'.
Сохранить Jenkins Job.
Запуск Jenkins Job для распаковки продукта FEX#
В поле VERSION - указать полную версию дистрибутива продукта (включая BuildNumber).
При наличии поля NODE - указать имя желаемой Jenkins Node.
Запустить Jenkins Job.
Результат работы Jenkins Job#
Результатом работы будет:
Пересобранный дистрибутив продукта FEX, выгруженный в нексус по координатам указанным в параметрах solution.upload.*
Пересобранные компоненты продукта FEX, выгруженные в нексус по координатам указанным в параметрах components[name].*, в случае если это разрешено параметром components[name].nexusUpload.
Пересобранные Docker образы, указанные в параметрах fpItems[name].* . В случае если это разрешено параметром components[name].rebuild.
При успешном завершении работы, в теле Jenkins Job будет опубликована таблица с информации о сборках.
Установка компонентов входящих программного продукта#
Установка программного продукта осуществляется в рамках индивидуальной установки каждого компонента, входящего в состав поставки. Порядок установки компонентов продукта не принципиален и может выполняться на усмотрение потребителей.
Параметры и шаги выполнения установки компонентов описаны в документации каждого компонента, входящего в состав продукта (документ Руководство по установке).
Чек-лист валидации установки#
Для валидации установки воспользуйтесь чек-листами, приведенными в Руководстве по установке в разделе «Чек-лист валидации установки» на соответствующие компоненты.
Проверка работоспособности#
Для валидации установки воспользуйтесь чек-листами, приведенными в Руководстве по установке в разделе «Проверка работоспособности» на соответствующие компоненты.
Обновление#
Инструкция по обновлению описана в документации каждого компонента, входящего в состав программного продукта. Смотрите Руководство по установке, раздел «Обновление».
Откат#
Инструкция по откату описана в документации каждого компонента, входящего в состав программного продукта. Смотрите Руководство по установке, раздел «Откат».
Удаление#
Инструкции по удалению приведены в документации каждого компонента, входящего в состав программного продукта. Смотрите Руководство по установке, раздел «Удаление».
Часто встречающиеся проблемы и пути их устранения#
Компонент FTRF#
Проблема |
Последствия |
Решение |
|---|---|---|
1. Появляются проблемы при коммуникации компонентов FTRF у АС Инициатора и АС Получателя или проблемы при коммуникации компонента с использующей его системой |
Невозможна передача файлов, либо пользователь не получает уведомления и поступлении новых файлов |
Проверить правильность указанных в настройках параметров |
2. Проблемы с S3-совместимым хранилищем |
Передача файлов невозможна |
Убедиться, что для пользователя (access-key которого указан в конфигурации) разрешены операции чтения и записи в bucket использующемся в интеграционном взаимодействии. Убедиться, что bucket не переполнен и передаваемые файлы занимают не больше, чем свободное место в bucket |
3. Не работает readiness, liveness probes |
Сбой при старте контейнера FTRF |
Проверить активирование данного функционала в конфигурационном файле |
4. Записи аудита не отравляются в Platform V Audit |
Отсутствие истории событий аудита |
Проверить правильность параметров в конфигурационном файле с префиксом |
5. Возникают трудности при взаимодействии с OTT-сервером. Не получается получить токен. На транспортном уровне OTT происходит ошибка: пример 1, пример 2. Cрабатывает предохранитель от чрезмерной нагрузки на сервер |
Не возможна передача данных получателю |
Обратитесь к команде поддержки ОТТ, чтобы узнать время ответа сервера ОТТ. Затем скорректируйте параметры клиентской библиотеки ОТТ, установив значения для параметров client-params.ott.service.client.transport.timeout и client-params.ott.service.client.balancer.timeout |
6. Ошибка чтения сертификатов: пример |
Не запускается FTRF, падает при чтении файлов сертификатов полученых через vaultAgent |
Проверить параметры получения приватного ключа через аннотации vaultAgent, формат ключа должен быть private_key_format=pkcs8 |
7. Ошибка system is not authorized |
Не возможна передача данных получателю |
Проверить лог работы FTRF, убедиться что нет ошибок обращения к ОТТ. При наличии ошибок обратиться к пункту 5 списка ошибок |
Компонент FSGW#
проблемы с S3-совместимым хранилищем:
решение: Убедиться что для пользователя (access-key которого указан в конфигурации) разрешены операции чтения и записи в bucket, использующемся в интеграционном взаимодействии. Убедиться, что Bucket не переполнен и передаваемые файлы занимают не больше, чем свободное место в bucket.
не работают пробы на readiness и liveness.
решение: Проверить, что данный функционал активирован в конфигурационном файле:
management: health: livenessState: enabled: true readinessState: enabled: true endpoint: health: probes: enabled: true
Компонент TFSX#
Нехватка места на файловой системе:
Решение: Исправляется путем расширения или чисткой дампа/логов/бэкапа
Отсутствие прав на файлы для пользователя tfs99usr:
Решение: Предоставление нужных прав на файлы и подпапки
Порт запуска ПО занят:
Решение: Проверить не запущена ли другая версия ПО ядра компонента TFSX или найти другую программу, использующую данный порт
Ошибка при запуске ядра
Starting error,Application is stopped,Re-run application using the argument 'debug' switch to enable debug logging:Решение: Использовать команду запуска с параметром debug для определения ошибок запуска в файле логов с наименование по умолчанию TransferModule_StartLog.log
Не подгружается файл конфигурации:
Решение: Проверить наличие файла конфигурации в директории, куда выгружает его конфиг модуль, и проверить наличие этого же файла в директории resources node ядра. Сравнить размеры и параметры, при необходимости удалить файл из resources и перезагрузить ядро для повторной загрузки файла из директории конфиг модуля.
Компонент FXIA#
Проблема |
Последствия |
Решение |
|---|---|---|
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target |
Невозможность подключиться к ресурсу |
Добавить корректный tls сертификат в хранилище сертификатов. Убедиться, что его CN совпадает с адресом файловго ресурса. |
Компонент CRDN#
Проблема |
Последствия |
Решение |
|---|---|---|
Невозможность запуска компонента из-за превышения количества подключений к базе |
Не запускается компонент |
проверить количество подключений к базе данных, увеличить количество подключений; задать ограничение по количеству создаваемых подключений к базе компонентом CRDN параметром |
Ошибка: Client network socket disconnected before secure TLS connection was established |
Не запускается компонент |
Выбранная версия TLS и cipher suite не соответствуют. Поменять версию TLS или cipher suite |
Компонент XFTP#
Проблемы с S3-совместимым хранилищем. Решение: убедиться, что для пользователя (access-key которого указан в конфигурации) разрешены операции чтения и записи в bucket, использующемся в интеграционном взаимодействии. Убедиться, что bucket не переполнен и передаваемые файлы занимают не больше, чем свободное место в bucket.