Перейти к содержанию

# Общие требования

LUNA PLATFORM поставляется в Docker-контейнерах. Для установки необходимы образы Docker-контейнеров LP. Для загрузки образов Docker на сервере требуется подключение к сети Интернет, либо образы следует загрузить на любое другое устройство и перенести на сервер. Требуется выполнить авторизацию к Docker-реестру VisionLabs для загрузки Docker-образов.

LUNA PLATFORM можно развернуть:

- с помощью ручного запуска контейнеров, используя Docker
- с помощью скрипта Docker Compose
- в кластере Kubernetes

В комплекте поставки расположены примеры скрипта Docker Compose и Helm чарты для каждого сервиса.

Запуск LUNA PLATFORM был протестирован на следующих версиях вышеописанного ПО:

- Docker: 25.0.3
- Docker Compose: 2.24.6
- Kubernetes: 1.27

> Тестирование в кластере Kubernetes выполнялось с использованием `ingress-nginx-controller:v1.10.0`.

> Также тестирование выполнялось в Minikube версии 1.32. Minikube предназначен только для локального тестирования и разработки. В продуктивном контуре нужно использовать кластер Kubernetes.

Не гарантируется работа с другими версиями вышеописанного ПО.

Для использования механизма плагинов требуется разрабатывать скрипты с учетом синтаксиса и функциональности, предоставляемых Python 3.11 и выше.

Сервисы LUNA PLATFORM могут быть запущены на всех ОС, где возможно использовать Docker. Запуск Docker-контейнеров LUNA PLATFORM официально протестирован на AlmaLinux 9.5. Все процедуры в руководстве по установке описаны для AlmaLinux 9.5. Работа на других ОС может иметь некоторые особенности, не описанные в данной документации.

В Docker-контейнерах сервисов LUNA PLATFORM используется Almalinux 9.5, за исключением контейнеров Remote SDK и Video Agent - в них Almalinux 8.

Сервисы LUNA PLATFORM могут использовать как CPU, так и GPU процессоры. При разворачивании в кластере Kubernetes, настройки ресурсов можно задать в Helm чартах из комплекта поставки.

> См. раздел "Потребление ресурсов сервисами" в руководстве администратора для получения дополнительной информации о потреблении ресурсов.

# Требования к процессорам

Приведенная ниже конфигурация обеспечит минимальную мощность для работы ПО, но для использования системы в продуктивном контуре этого недостаточно. Требования для использования системы в продуктивном контуре рассчитываются в зависимости от предполагаемой нагрузки.

## CPU

Следующие минимальные системные требования необходимы для установки программного пакета LUNA PLATFORM:

- CPU Intel, минимум 8 физических ядер с тактовой частотой 2.0 GHz или выше. Требуется поддержка набора инструкций AVX2 для CPU;

- RAM DDR3 (рекомендуется DDR4), 8 Гб или выше;

- Свободное место на диске — минимум 80 Гб.

> Необходимое количество свободного места на диске или S3-подобном хранилище напрямую зависит от размера БД и бакетов Image Store. Если база данных очень велика, то может потребоваться более 80 Гб.

> Рекомендуется использование SSD для баз данных и хранилища Image Store.

## GPU

Для ускорения GPU необходим NVIDIA GPU. Поддерживаются архитектуры Turing, Ampere, Ada Lovelace.

Требуется Compute Capability 6.1 или выше.

Требуется минимум 6Гб оперативной или выделенной видеопамяти. Рекомендуется 8 Гб VRAM или более.

CUDA версии 12.4 должна быть установлена на там, где развернуты сервисы Remote SDK, Video Agent (опционально) и Lambda (опционально). Рекомендуемый драйвер NVIDIA — r550.

Важно! Для Minikube есть некоторые особенности при работе на GPU (см. раздел "Использование GPU в Minikube" в руководстве по разворачиванию в кластере Kubernetes).

# Требования к сторонним приложениям

Следующие сторонние приложения используются по умолчанию с LUNA PLATFORM 5.

- PostgreSQL используется в качестве базы данных по умолчанию для сервисов Faces, Configurator, Events, Handlers, Lambda, Tasks и Admin.

> Также возможно использование базы данных Oracle вместо PostgreSQL для всех сервисов кроме сервиса Events. Установка и конфигурация Oracle не описывается в данном руководстве.

- Для сервисов Faces и Sender используется БД Redis.

- Для мониторинга используется БД Influx.

Балансировщики и другие программы могут использоваться при масштабировании системы для обеспечения отказоустойчивости. В руководстве по установке приводятся рекомендации по запуску контейнера Nginx с конфигурационным файлом для балансировки запросов к сервисам API, Faces, Image Store и Events.

Для использования LP рекомендуются следующие версии сторонних приложений:

- PostgreSQL: 16.1
- Oracle: 21c (если используется вместо PostgreSQL)
- Redis: 7.2
- InfluxDB: 2.0.8-alpine
- Grafana: 8.5.20 (опционально)
- Grafana Loki: 2.7.1 (опционально)
- Nginx: 1.17.4-alpine (опционально)

> Эти версии протестированы специалистами VisionLabs. При необходимости можно использовать более новые версии, но их работоспособность не гарантируется.

Для распаковки дистрибутива рекомендуется использовать пакет `unzip`. Команда для скачивания пакета дана в инструкции по установке.

Если необходимо использовать внешнюю базу данных и функцию VLMatch, требуется загрузить дополнительные зависимости, описанные в руководстве по установке (см. раздел "Внешняя база данных").

Docker-контейнеры PostgreSQL, Redis, InfluxDB, Grafana и Nginx можно загрузить из реестра VisionLabs.