Системные требования#
Общие сведения#
Для работы Продукта требуется ряд инфраструктурных ресурсов:
проект / пространство (Namespace) в Kubernetes;
пространство в Git Repository;
пространство в docker registry (Snapshot, Release) для хранения Docker образов;
пространство в вики-системе для хранения отчетов, выгружаемых Продуктом;
технологическую учетную запись (далее также «ТУЗ») с правами чтения (Read) и записи (Write) на все вышеперечисленные ресурсы.
Системные требования компонента#
Настройки безопасности окружения и перечень платформенных (дополнительных внешних) продуктов, используемых для установки, настройки и контроля в конечной информационной системе (далее — ИС), выбираются при разработке конечной ИС, исходя из характера обрабатываемой в ней информации и иных требований информационной безопасности (далее — ИБ), предъявляемых к ней.
Состав дистрибутива#
Дистрибутив компонента RUNR представляет собой два ZIP-архива (как для коммунальной, так и для автономной инсталляции):
*-cfg-*.zip - архив, содержащий набор конфигураций для установки дистрибутива;
*-bin-*.zip - архив, содержащий набор бинарных файлов для сборки исполняемых компонентов.
Таблица 2. Структура архива cfg.
№ |
Директория |
Описание |
|---|---|---|
3 |
./package/conf |
Содержит набор конфигураций, необходимых для работы сервиса (yml-конфигурации, необходимые для развертывания сервисов в Kubernetes) |
Таблица 3. Структура архива bin.
№ |
Директория |
Описание |
|---|---|---|
2 |
./package/bh |
Содержит бинарные файлы сервисов (JAR-артефакты) |
4 |
./package/pl |
Содержит статику для развертывания ui |
5 |
./package/docker |
Содержит набор dockerfile для сборки каждого из микросервисов |
6 |
./package/db |
набор скриптов для инициализации базы данных |
Системное программное обеспечение#
Ниже представлены категории системного программного обеспечения (далее — ПО), которые обязательны или опциональны для установки, настройки, контроля и функционирования компонента RUNR. В каждой категории перечислены все поддерживаемые продукты сторонних правообладателей. Отдельно обозначены варианты, которые рекомендует АО «СберТех» (маркировка «Рекомендовано» в столбце «Продукт, функциональная совместимость с которым подтверждена»). Клиенту необходимо выбрать один из продуктов в каждой категории, исходя из условий использования конечной ИС.
Таблица 4. Обзор требований к окружению.
Категория ПО |
Обязательность установки (да/нет) |
Наименование ПО |
Версия |
Продукт, функциональная совместимость с которым подтверждена |
Описание |
|---|---|---|---|---|---|
Браузер |
Да |
YandexBrowser |
23.7.0.2564 |
Рекомендовано |
Браузер для работы с веб интерфейсом |
Google Chrome |
112.0.5615.137 |
Опционально |
Альтернативный браузер для работы с веб интерфейсом |
||
СберБраузер |
7.1.148.0 |
Опционально |
Альтернативный браузер для работы с веб интерфейсом |
||
Safari |
16.4 |
Опционально |
Альтернативный браузер для работы с веб интерфейсом |
||
Средство контейнеризации |
Да |
Docker CE |
1.13 |
Рекомендовано |
Средство контейнеризации |
Java-машина |
Да |
OpenJDK |
11 |
Рекомендовано |
Java машина для запуска движка генерации нагрузки |
Движок для генерации нагрузки |
Да |
Jmeter |
5.3 |
Рекомендовано |
Движок для генерации нагрузки |
Операционная система |
Нет |
ОС ALT Linux |
10.0, 9.0, 8.0 |
Опционально |
ОС для БД сервисов приложения, при условии установки БД на хост |
OC SberLinux |
8.8 |
Опционально |
|||
Среда контейнеризации |
Да |
Platform V DropApp |
1.2 |
Рекомендовано |
Система контейнеризации для запуска компонентов сервиса |
Kubernetes |
1.21.0 |
Опционально |
Альтернативная система контейнеризации |
||
Docker Repository |
Да |
Nexus-public |
3.42.0+ |
Рекомендовано |
Хранилище для docker image при установки стенда |
Nexus |
PRO 3.43.0-01 |
Опционально |
Альтернативное хранилище для docker image |
||
Wiki система |
Нет |
Atlassian Confluence |
7.21.7 |
Опционально |
Средство хранение отчетов (Компонент предоставляет альтернативные способы хранения) |
Git Repository |
Да |
GitLab CE |
15.7+ |
Рекомендовано |
Хранилище для скриптов нагрузочного тестирования |
Bitbucket |
Atlassian Bitbucket v7.21.7 |
Опционально |
Альтернативное хранилище для скриптов нагрузочного тестирования |
||
Средство хранения данных |
Да |
Platform V Search |
1.1 |
Рекомендовано |
БД сервисов приложения |
CouchDB |
couchdb:3.3.1 |
Опционально |
Альтернативное БД сервисов приложения |
||
Opensearch |
opensearchproject/opensearch:2.9.0 |
Опционально |
Альтернативное БД сервисов приложения |
||
Elasticsearch |
elasticsearch:8.8.0 |
Опционально |
Альтернативное БД сервисов приложения |
||
docker image |
Да |
Grafana |
grafana/grafana:9.3.6 |
Рекомендовано |
Отображение метрик |
docker image |
Да |
Grafana Image Renderer |
grafana/grafana-image-renderer:3.7.2 |
Рекомендовано |
Генерация картинок jpeg, png из графиков Grafana |
docker image |
Да |
Prometheus |
bitnami/prometheus:2.41.0 |
Рекомендовано |
Сбор метрик |
docker image |
Да |
Git |
alpine/git:2.40.1 |
Рекомендовано |
Оперативное хранилище |
docker image |
Да |
Python |
python:3.9-slim-buster |
Рекомендовано |
Базовый образ. |
docker image |
Да |
Busybox |
busybox:1.36.0 |
Рекомендовано |
Базовый образ. Проброс логов в init контейнере |
docker image |
Да |
Maven |
maven:3.8.4-openjdk-17-slim |
Рекомендовано |
Базовый образ. Запуск скриптов jmeter в контейнере |
docker image |
Да |
Nginx |
nginx:1.23.3-alpine |
Рекомендовано |
Базовый образ. |
ingress |
Да |
ingress-nginx |
v3.0.0 |
Рекомендовано |
Точка входа внешнего веб трафика в кластер |
Маркер «+» обозначает минимальную версию свободного программного обеспечения (далее — СПО) для установки.
Примечание:
*
Да — категория ПО обязательна для функционирования сервиса (это означает, что сервис не может выполнять свои основные функции без установки данной категории ПО).
Нет — категория ПО необязательна для функционирования сервиса (это означает, что сервис может выполнять свои основные функции без установки данной категории ПО).
**
Рекомендовано — рекомендованный правообладателем АО «СберТех» продукт.
Опционально — альтернативный по отношению к рекомендованному правообладателем АО «СберТех» продукт.
Настройка окружения#
С чего начать установку Продукта?#
Перед установкой Продукта следует убедиться, что выполнены требования по наличию следующих ресурсов:
аппаратных возможностей;
установленных программных ресурсов;
ресурсов инфраструктуры;
настроенной базы данных (опционально в зависимости от требований того или иного сервиса Продукта);
пространств имен (namespace).
В число ресурсов инфраструктуры входят система контроля версий, среда контейнеризации, хранилище дистрибутивов.
Для установки системы должен быть обеспечен доступ к каждому из требуемых инструментов по сети с использованием доменных учетных данных, а также у ТУЗ потребителя для хранения Docker образов должны быть права на чтение docker registry.
После выполнения всех требований проектная область разработки будет готова к началу установки Продукта. Это означает, что можно приступать к настройке проекта / пространства (namespace) в среде контейнеризации для того или иного модуля (компонента/сервиса) Продукта.
Таблица 5.
№ |
Ресурс |
Комментарий |
|---|---|---|
1 |
Пространство (namespace) в среде контейнеризации |
Для установки сервисов Продукта необходимо получить пространство в среде контейнеризации |
2 |
Пространство в облачном сервисе системы контроля версий |
У потребителя в наличии должен быть репозиторий в облачном сервисе системы контроля версий |
3 |
Пространство в Docker registry |
Для хранения релизных и временных образов Docker у потребителя должно быть пространство в хранилище (Registry) образов Docker (Snapshot, Release) |
4 |
Пространство в облачном сервисе с вики-системой |
Для хранения отчетов, выгружаемых Продуктом |
5 |
Техническая учетная запись |
Необходима ТУЗ с правами на чтение перечисленных выше (пп 1-5) ресурсов |
Рекомендуемые настройки безопасности окружения#
В рамках компонента RUNR используется service account для запуска pod с нагрузочными тестами в среде контейнеризации (по умолчанию аккаунт load).
Рекомендуемые настройки доступа к ресурсам кластера:
read & write: pods, deployments, statefulsets, services;
read: resourcequotas, pods/log, pods/exec.
Рекомендуется запретить запуск pod в привилегированном режиме (используя root-пользователя).
Аппаратные требования#
Требования к ресурсам базы данных#
По целевой архитектуре БД располагается внутри кластера. Требования по CPU и MEM см раздел Рекомендуемые значения потребления CPU и MEM. Требования по жесткому диску см раздел Требования к жесткому диску.
Требования к ресурсам среды контейнеризации для сервиса#
Таблица 6.
Конфигурация |
CPU |
MEM, GB |
|---|---|---|
Минимальная |
7 |
8 |
Рекомендуемая |
10 |
10 |
Ресурсы указаны без учета генераторов нагрузки!
Указанные выше ресурсы требуются для работы сервиса, но не учитывают создаваемые во время запуска теста генераторы нагрузки. В зависимости от требований заказчика по суммарной возможной нагрузке КТС рассчитывается по формулам:
Таблица 7.
CPU |
MEM, GB |
|---|---|
Требуемая нагрузка / 300 |
Требуемая нагрузка / 300 |
Значения, полученные в результате деления, округлить до целых. Рассчитанные значения CPU и MEM требуется просуммировать с соответствующими в минимальной или рекомендуемой конфигурации.
Ресурсы указаны без учета базы данных!
В зависимости от выбранной базы данных к ресурсам в Таблице 6 требуется прибавить ресурсы, потребляемые базой данных, которые указаны в разделе Рекомендуемые значения потребления CPU и MEM.
Рекомендуемые значения потребления CPU и MEM#
Таблица 8. Рабочие ресурсы.
Имя Deployment |
Кол-во реплик |
Контейнеры |
CPU (req), m |
CPU (lim), m |
MEM (req), Mi |
MEM (lim), Mi |
|---|---|---|---|---|---|---|
cronjob-start-and-kill-deployments |
1 |
cronjob |
200 |
200 |
100 |
100 |
cronjob-sync-k8s-and-db-status |
1 |
cronjob |
200 |
200 |
100 |
100 |
front |
2 |
front |
200 |
200 |
500 |
500 |
back |
2 |
back |
600 |
800 |
600 |
600 |
launcher |
2 |
launcher |
600 |
800 |
600 |
600 |
pusher |
2 |
pusher |
600 |
800 |
600 |
600 |
prometheus |
1 |
prometheus |
150 |
500 |
400 |
400 |
grafana |
1 |
grafana |
500 |
1000 |
1000 |
2000 |
renderer |
1000 |
2000 |
1000 |
2000 |
||
Всего на namespace |
12 |
6050 |
9100 |
7200 |
9200 |
Таблица 9. База данных CouchDB.
Имя Базы данных |
Кол-во реплик |
Контейнер |
CPU (req), m |
CPU (lim), m |
MEM (req), Mi |
MEM (lim), Mi |
|---|---|---|---|---|---|---|
Couchdb |
2 |
couchdb-couchdb |
2000 |
8000 |
2000 |
16000 |
Всего на namespace |
2 |
2000 |
8000 |
8000 |
16000 |
Таблица 10. База данных OpenSearch.
Имя Базы данных |
Кол-во реплик |
Контейнер |
CPU (req), m |
CPU (lim), m |
MEM (req), Mi |
MEM (lim), Mi |
|---|---|---|---|---|---|---|
OpenSearch |
2 |
opensearch |
2000 |
8000 |
8000 |
16000 |
Всего на namespace |
2 |
2000 |
8000 |
8000 |
16000 |
Требования к жесткому диску#
Рекомендуемые требования для БД (CouchDB или Opensearch или Elasticsearch):
SSD – 150 Gb.
Рекомендуемые требования для Grafana:
SSD - 25 GB
Рекомендуемые требования для Prometheus:
SSD - 100 GB