Руководство по установке#
В руководстве приведены инструкции по установке продукта Platform V Synapse File Exchange (FEX)
Системные требования#
Настройки безопасности окружения и перечень платформенных (дополнительных внешних) продуктов, используемых для установки, настройки и контроля в конечной информационной системе (далее — ИС), выбираются клиентом при разработке конечной ИС, исходя из характера обрабатываемой в ней информации и иных требований информационной безопасности (далее — ИБ), предъявляемых к ней.
Системное программное обеспечение#
Ниже представлены категории системного программного обеспечения (далее — ПО), которые обязательны или опциональны для установки, настройки, контроля и функционирования компонента. В каждой категории перечислены все поддерживаемые продукты сторонних правообладателей. Отдельно обозначены варианты, которые рекомендует АО «СберТех» (маркировка «Рекомендовано» в столбце «Продукт, функциональная совместимость с которым подтверждена»). Клиенту необходимо выбрать один из продуктов в каждой категории, исходя из условий использования конечной ИС.
Категория ПО |
Обязательность установки (да/нет) |
Наименование ПО |
Версия |
Продукт, функциональная совместимость с которым подтверждена |
Описание |
|---|---|---|---|---|---|
Операционная система |
Да |
9 и выше |
Рекомендовано |
ОС контейнеров для запуска модулей компонента |
|
Red Hat Enterprise Linux |
7.9 и выше |
Опционально |
|||
Да |
SberLinux |
8.8 и выше |
Рекомендовано |
ОС контейнеров для запуска модулей компонента |
|
Сервис интеграции и оркестрации микросервисов в облаке |
Да |
1.24 и выше |
Рекомендовано |
Платформа контейнеризации для запуска компонентов сервиса |
|
Брокер сообщений |
Да |
3.1 и выше / Confluent Platform 5.2 и выше |
Рекомендовано. Правообладателем АО «СберТех» также рекомендован брокер сообщений, основанный на Kafka, – Platform V Corax, см. раздел «Платформенные зависимости» |
Средство обмена сообщениями между модулями компонента |
|
Средство централизованного управления сетевым трафиком |
Да |
1.12 и выше |
Рекомендовано. Правообладателем АО «СберТех» также рекомендован сервис интеграции и оркестрации микросервисов в облаке, основанный на Istio, – Platform V Synapse Service Mesh, см. раздел «Платформенные зависимости» |
Сервис интеграции микросервисов в облаке |
|
Хранилище данных |
Да |
Любое хранилище данных, поддерживающее работу по S3 протоколу |
Временное хранилище для файлов во время интеграции |
||
Мониторинг |
Нет |
Prometheus |
2.21 и выше |
Опционально |
Средства мониторинга приложения в процессе работы |
Нет |
Grafana |
9.1 и выше |
Опционально |
Средства мониторинга приложения в процессе работы |
|
FTP-сервер |
Нет |
Любое хранилище данных, поддерживающее работу по протоколу FTP |
Временное хранилище файлов |
||
JVM |
Да |
OpenJDK |
11 |
Рекомендовано |
Средство запуска приложений, написанных на языке Java |
Vault KV Engine совместимое хранилище секретов |
Нет |
HashiCorp Vault |
1.11.0 и выше |
Рекомендовано |
Система управления ключами и сертификатами |
Таблица. Системное программное обеспечение
Примечание:
*
Да — категория ПО обязательна для функционирования сервиса (это означает, что сервис не может выполнять свои основные функции без установки данной категории ПО).
Нет — категория ПО необязательна для функционирования сервиса (это означает, что сервис может выполнять свои основные функции без установки данной категории ПО).
**
Рекомендовано — рекомендованный правообладателем АО «СберТех» продукт.
Опционально — альтернативный по отношению к рекомендованному правообладателем АО «СберТех» продукт.
Платформенные зависимости#
Для настройки, контроля и функционирования компонента реализована интеграция с программными продуктами, правообладателем которых является АО «СберТех»:
Наименование продукта |
Код |
Версия продукта |
Код и наименование компонента |
Обязательность установки (да/нет) |
Описание |
Аналог других производителей |
|---|---|---|---|---|---|---|
Platform V Audit SE |
AUD |
2.3 |
AUDT Аудит |
Нет |
Компонент для аудирования событий |
Kafka |
Platform V Corax |
KFK |
7.0 и выше |
KFKA Распределенная система обмена сообщениями между приложениями в режиме реального времени |
Нет |
Брокер сообщений для асинхронной репликации данных |
Сервис успешно прошел испытания и подтвердил свою работоспособность с компонентом AUDT. С аналогами других производителей не тестировался |
Platform V Monitor |
OPM |
4.1 |
LOGA Журналирование |
Нет |
Сервис для хранения лог-файлов |
Любой сервис сбора записей о событиях, совместимый с fluent-bit |
Platform V Monitor |
OPM |
4.1 |
MONA Объединенный мониторинг Unimon |
Нет |
Сервис для сбора прикладных и инфраструктурных метрик и отправки их в целевую систему хранения |
Prometheus 2.21 и выше |
Platform V Synapse Service Mesh |
SSM |
3.2 и выше |
IGEG Граничный прокси |
Нет |
Панель управления с открытым исходным кодом, служащая для взаимодействия, мониторинга и обеспечения безопасности контейнеров в среде контейнеризации Kubernetes |
Istio |
Platform V Backend |
#BD |
4.3 и выше |
OTTS Система аутентификации и авторизации межсервисного взаимодействия |
Нет |
Контроль межсервисных взаимодействий на прикладном уровне с использованием токенов. |
|
Platform V SberLinux OS Server |
SLO |
8.7 и выше |
INST Операционная система |
Да |
Операционная система |
Альт СП, Red Hat Enterprise Linux |
Platform V DropApp |
K8S |
2.0.0 и выше |
K8SP |
Нет |
Платформа контейнеризации для запуска компонентов сервиса |
Kubernetes |
Таблица. Платформенные зависимости
Примечание:
***
Да — компонент или продукт необходим для функционирования сервиса (это означает, что сервис не может выполнять свои основные функции без установки данного компонента).
Нет — необязательный для функционирования сервиса компонент или продукт (это означает, что сервис может выполнять свои основные функции без установки данного компонента).
**** Рекомендуется установка программного продукта, правообладателем которого является АО «СберТех», при этом не исключена возможность (допускается правообладателем) использования аналога других производителей. Аналоги, в отношении которых продукт успешно прошел испытания и подтвердил свою работоспособность, указаны в разделе «Системное программное обеспечение».
Аппаратные требования#
Для установки компонента требуется следующая конфигурация аппаратного обеспечения:
Квота на проект: 2 CPU, 3000Mi RAM.
Название компонента |
Кол-во pod на один элемент развертывания (deployment unit) |
Квота на Pod |
|---|---|---|
FTRF |
1 |
1 CPU, 1000Mi RAM |
FSGW |
1 |
1000m CPU, 2000Mi RAM |
Для компонентов разворачиваемых на VM
Название компонента |
CPU |
RAM |
HDD |
|---|---|---|---|
TFSX |
8 |
32 Гб |
250 (150) Гб |
Состав дистрибутива#
Состав дистрибутива приведен в Руководстве по установке в разделе «Состав дистрибутива» для каждого компонента, входящего в состав продукта.
Настройка окружения#
заведение bucket в S3 хранилище;
получения доступа к bucket в S3 хранилище;
настройка Kubernetes кластера для развертывания программного продукта.
настройка базы данных;
настройка брокера сообщений;
настройка Hazelcast;
настройка доступа к хранилищу секретов;
настройка доступа к аудиту
Подробное описание приведено в документации на компонент FTRF, FSGW, TFSX
Установка#
Ручная установка#
Сборка дистрибутива продукт 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#
появляются проблемы при коммуникации компонентов FTRF у АС Инициатора и АС Получателя или проблемы при коммуникации компонента с использующей его системой:
решение: Проверить правильность указанных в настройках параметров
file.transfer.externalPort, file.transfer.internalPort, file.transfer.primaryContainerPort, file.transfer.primaryContainerHost
проблемы с S3-совместимым хранилищем:
пешение: убедиться, что для пользователя (access-key которого указан в конфигурации) разрешены операции чтения и записи в bucket'е использующемся в интеграционном взаимодействии. Убедиться, что bucket не переполнен и передаваемые файлы занимают не больше, чем свободное место в bucket'е
не работает readiness, liveness probes:
решение: проверить активирование данного функционала в конфигурационном файле
ftrf-config.ymlразделapplication.properties
management.endpoint.health.probes.enabled=true management.health.livenessState.enabled=true management.health.readinessState.enabled=true
Часто встречающиеся проблемы и пути их устранения для компонента FSGW#
проблемы с S3-совместимым хранилищем:
решение: Убедиться что для пользователя (access-key которого указан в конфигурации) разрешены операции чтения и записи в бакете, использующемся в интеграционном взаимодействии. Убедиться, что бакет не переполнен и передаваемые файлы занимают не больше, чем свободное место в бакете.
не работают пробы на 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 и перезагрузить ядро для повторной загрузки файла из директории конфиг модуля.