Установка Helm чартов#
Убедитесь, что вы находитесь в рабочей директории с файлами Kubernetes:
cd /var/lib/luna/current/extras/k8s/
Настройка Helm чартов#
Helm чарты из комплекта поставки не подходят для полноценной работы в продуктивном контуре. Необходимо настроить чарты в соответствии со своей бизнес логикой перед их установкой.
Настройте в файлах luna-<service-name>/values.yaml
все необходимые параметры, особенно обращая внимание на:
- секцию
resources
для задания ресурсов (например, CPU и память) для контейнеров сервиса - секцию
ingress
для настройки маршрутизации входящего трафика к сервису - параметр
pullSecrets
в секцииimage
для указания секрета, который будет использоваться при извлечении образа контейнера из реестра (см. "Создание секрета для авторизации в реестре Docker" в разделе "Дополнительная информация").
Примечание. Рекомендуется настроить аннотацию nginx.ingress.kubernetes.io/proxy-body-size
к сервису API (или к любому другому сервису, к которому отправляются запросы с изображениями) в зависимости от требований к размеру передаваемых изображений. В Helm чарте сервиса API дан пример использования данной аннотации.
Эти параметры играют важную роль в обеспечении производительности и доступности вашего приложения в продуктивной среде.
Настройка GPU для Remote SDK и Video Agent#
Примечание. Пропустите данный раздел если не собираетесь использовать GPU.
Использование GPU для сервисов Remote SDK и Video Agent включается с помощью передачи соответствующего ключа в секции resources
в файле values.yaml
соответствующего Helm чарта.
Например, можно настроить доступ к одному графическому процессору следующим образом:
resources:
limits:
cpu: 5000m
memory: 10Gi
nvidia.com/gpu: 1
requests:
cpu: 5000m
memory: 10Gi
nvidia.com/gpu: 1
Примечание. Также для включения эстимаций/детекций на GPU необходимо задать необходимые настройки (см. "Настройки GPU"). При необходимости можно использовать переменную EXTEND_CMD
для передачи тегированных настроек.
env:
- name: EXTEND_CMD
value: " --LUNA_REMOTE_SDK_RUNTIME_SETTINGS gpu"
Запуск установки Helm чартов#
Запустите установку Helm чартов для необходимых сервисов с помощью следующих команд:
helm install --wait --timeout 10m luna-configurator ./luna-configurator
helm install --wait --timeout 10m luna-image-store ./luna-image-store
helm install --wait --timeout 10m luna-licenses ./luna-licenses
helm install --wait --timeout 10m luna-faces ./luna-faces
helm install --wait --timeout 10m luna-events ./luna-events
helm install --wait --timeout 10m luna-python-matcher ./luna-python-matcher
helm install --wait --timeout 10m luna-remote-sdk ./luna-remote-sdk
helm install --wait --timeout 10m luna-handlers ./luna-handlers
helm install --wait --timeout 10m luna-sender ./luna-sender
helm install --wait --timeout 10m luna-tasks-worker ./luna-tasks-worker
helm install --wait --timeout 10m luna-tasks ./luna-tasks
helm install --wait --timeout 10m luna-accounts ./luna-accounts
helm install --wait --timeout 10m luna-video-manager ./luna-video-manager
helm install --wait --timeout 10m luna-video-agent ./luna-video-agent
helm install --wait --timeout 10m luna-api ./luna-api
helm install --wait --timeout 10m luna-admin ./luna-admin
helm install --wait --timeout 10m luna-backport3 ./luna-backport3
helm install --wait --timeout 10m luna-backport4 ./luna-backport4
Перед запуском сервисов UI 4 и UI 3 необходимо выполнить дополнительные действия в Helm чартах:
- актуализировать параметр
LUNA_API_URL
для обоих Helm чартов, который является внутренним адресом Backport 3 и Backport 4 соответственно - актуализировать параметр
BASIC_AUTH
для Helm чарта UI 4, указав данные авторизации для аккаунта типа user в форматеuser@mail.com:password
, закодированным в Base64
Необходимо предварительно создать аккаунт типа "user" с помощью запроса "create account" к сервису API или с помощью сервиса Admin.
Запустите установку Helm чартов UI 4 и UI 3 с помощью следующих команд:
helm install --wait --timeout 10m luna3-ui ./luna3-ui
helm install --wait --timeout 10m luna4-ui ./luna4-ui
После установки Helm чартов рекомендуется провести тщательное тестирование LUNA PLATFORM в среде, которая соответствует вашим требованиям по производительности и безопасности.