Общие требования#
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 официально протестирован на CentOS 7/8. Все процедуры в руководстве по установке описаны для CentOS 7. Работа на других ОС может иметь некоторые особенности, не описанные в данной документации.
В Docker-контейнерах сервисов LUNA PLATFORM используется CentOS 8.
Сервисы LUNA PLATFORM могут использовать как CPU, так и GPU процессоры. При разворачивании в кластере Kubernetes, настройки ресурсов можно задать в Helm чартах из комплекта поставки.
См. раздел "Потребление ресурсов сервисами" в руководстве администратора для получения дополнительной информации о потреблении ресурсов.
Требования к процессорам#
Приведенная ниже конфигурация обеспечит минимальную мощность для работы ПО, но для использования системы в продуктивном контуре этого недостаточно. Требования для использования системы в продуктивном контуре рассчитываются в зависимости от предполагаемой нагрузки.
CPU#
Следующие минимальные системные требования необходимы для установки программного пакета LUNA PLATFORM:
-
CPU Intel, минимум 4 физических ядра с тактовой частотой 2.0 GHz или выше. Требуется поддержка набора инструкций AVX2 для CPU;
-
RAM DDR3 (рекомендуется DDR4), 8 Гб или выше;
-
Свободное место на диске — минимум 80 Гб.
Необходимое количество свободного места на диске или S3-подобном хранилище напрямую зависит от размера БД и бакетов Image Store. Если база данных очень велика, то может потребоваться более 80 Гб.
Рекомендуется использование SSD для баз данных и хранилища Image Store.
GPU#
Для ускорения GPU необходим NVIDIA GPU. Поддерживаются следующие архитектуры:
- Pascal или более новые.
Требуется Compute Capability 6.1 или выше.
Требуется минимум 6Гб оперативной или выделенной видеопамяти. Рекомендуется 8 Гб VRAM или более.
CUDA версии 11.4 должна быть установлена на там, где развернут сервис Remote SDK и Lambda (опционально). Рекомендуемый драйвер NVIDIA — r470.
Важно! Для 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
- 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.