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

Общие сведения#

Для работы Продукта требуется ряд инфраструктурных ресурсов:

  • проект / пространство (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