Общие требования#
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, и Backport3.
Также возможно использование базы данных 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.