Перейти к основному содержимому
Версия: 2.4.0 (последняя)

Установка

Подготовка к развертыванию

Подготовка

Форма поставки Image API — дистрибутив. В дистрибутиве лежат файлы для развертывания Image API. Ссылка на скачивание дистрибутива и прикрепленный файл лицензии передаются клиенту по электронной почте.

Распакуйте дистрибутив и переместите файл лицензии face_sdk.lic в папку setup распакованного дистрибутива Image API.

Дальнейшие команды выполняйте относительно директории setup.

Конфигурация

Название файла конфигурацииОписание
./cfg/image-api.values.yamlФайл конфигурации развертывания экземпляра Image API.
./cfg/package.settings.cfgФайл конфигурации зависимостей для установки Kubernetes-кластера.
./cfg/smc.settings.cfgФайл конфигурации Kubernetes-кластера.
  1. Откройте файл ./cfg/smc.settings.cfg, используя текстовый редактор, и установите значения следующих переменных:

    • apiserver_advertise_address — внутренний IP-адрес машины, на которой выполняется развертывание.
    • external_ip_address — публичный IP-адрес машины, на который будет настраиваться DNS.
примечание

При отсутствии публичного IP-адреса используйте внутренний IP-адрес.

  1. Откройте файл ./cfg/image-api.values.yaml, используя текстовый редактор, и установите значения следующих переменных:

    • ingress.host — доменное имя, используется в ingress для маршрутизации запросов на сервисы Kubernetes.

    IP-адрес для доменного имени <ingress.host> должен быть сконфигурирован на DNS-сервере.

Установка зависимостей

Если в системе отсутствует Docker, Kubernetes, Helm, выполните команду:

./cli.sh smc package install

Загрузка образов

Загрузите в локальный registry docker-образы image-api:

./cli.sh image-api load-images

Загрузите в локальный registry docker-образы smc:

./cli.sh smc load-images

Загрузка образов может длиться около пяти минут.

Установка и настройка кластера

Запустите команду для создания и настройки кластера:

./cli.sh smc install

Эта команда выполняет следующие действия:

  1. Настройка docker и сети хоста.
  2. Установка кластера.
  3. Установка ingress-controller.
  4. Установка flannel.

Для использования GPU установите nvidia-device-plugin:

./cli.sh smc nvidia install 

Для использования Horizontal Pod Autoscaler установите metric-server:

./cli.sh smc metric-server install

Запустите команду для создания секретов image-api в кластере:

./cli.sh image-api install-secrets

Проверка работоспособности кластера

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

kubectl get nodes

В результате в терминале отобразится следующий вывод:

NAME          STATUS      ROLES                   AGE     VERSION
master-node Ready control-plane,master 1d v1.23.8

Развертывание

Установка Image API в кластер

Запустите скрипт для установки Image API в кластер:

./cli.sh image-api install

Для получения статуса развертывания выполните команду:

kubectl get pods

В терминал будет выведен список под (pods — экземпляров деплоймента), их статус, количество перезапусков и время с момента создания.

Пример вывода:

NAME                                                READY    STATUS     RESTARTS   AGE
image-api-age-estimator-dep-5bf7889dcd-jm46h 1/1 Running 0 1h
image-api-body-detector-dep-6778495696-4zkpm 1/1 Running 0 1h
image-api-emotion-estimator-dep-7c8cdd7c6b-z4vlv 1/1 Running 0 1h
image-api-face-detector-face-fitter-dep-5fb48dcb5… 1/1 Running 0 1h
image-api-gateway-dep-65d4846c59-g2nfj 1/1 Running 0 1h
image-api-gender-estimator-dep-86b9457f9b-2464q 1/1 Running 0 1h
image-api-face-detector-liveness-estimator-dep-7bd… 1/1 Running 0 1h
image-api-liveness-estimator-dep-9823475912-9xqfp 1/1 Running 0 1h
image-api-mask-estimator-dep-76b958b84b-w7pss 1/1 Running 0 1h
image-api-quality-assessment-estimator-dep-fbf8bc4… 1/1 Running 0 1h
image-api-face-detector-template-extractor-dep-57581/1 Running 0 1h
image-api-template-extractor-dep-6778489659-6zkmp4 1/1 Running 0 1h
image-api-verify-matcher-dep-6d66dc4948-lx8j7 1/1 Running 0 1h
примечание

Наличие у всех под (pods) статуса Running означает, что все контейнеры успешно запущены.

Ниже приведено краткое описание деплойментов:

  • image-api-gateway-dep: обратный прокси-сервер, отвечает за единый доступ к сервисам обработки.
  • image-api-face-detector-face-fitter-dep: детекция лица и вычисление антропометрических точек лица и углов поворота головы.
  • image-api-body-detector-dep: детекции тела.
  • image-api-emotion-estimator-dep: оценка эмоций.
  • image-api-age-estimator-dep: оценка возраста.
  • image-api-gender-estimator-dep: оценка пола.
  • image-api-face-detector-liveness-estimator-dep: детекция лица и оценка принадлежности лица на изображении реальному человеку (Liveness).
  • image-api-liveness-estimator-dep: оценка принадлежности лица на изображении реальному человеку (Liveness).
  • image-api-mask-estimator-dep: оценка наличия или отсутствия медицинской маски на лице человека.
  • image-api-quality–assessment-estimator-dep: оценка качества изображения.
  • image-api-verify-matcher-dep: сравнение двух биометрических шаблонов.
  • image-api-face-detector-template-extractor-dep: детекция лица и извлечение биометрического шаблона лица с изображения.
  • image-api-template-extractor-dep: извлечение биометрического шаблона лица с изображения.

Настройка DNS

Для обеспечения доступа DNS-сервер сети должен содержать запись о том, что домен <host> доступен по адресу <external_ip_address>. Значения переменных можно получить из файлов ./cfg/smc.settings.cfg и ./cfg/image-api.values.yaml, заполненных в пункте Конфигурация. Чтобы выполнить эту конфигурацию, обратитесь к администратору вашей сети.

Для целей тестирования можно указать IP-адрес и домен в файле /etc/hosts на Linux или C:\Windows\System32\drivers\etc\hosts на Windows. Для этого добавьте в конец данного файла новую строку вида <external_ip_address> <host>, подставив значения соответствующих переменных, и сохраните файл. Обратите внимание, что для редактирования файла hosts необходимо обладать правами администратора.

Для использования Image API с той же машины, где выполнено развертывание, можно воспользоваться скриптом, который автоматически добавит необходимую запись в файл /etc/hosts.

echo "<external_ip_address> <host>" | sudo tee -a /etc/hosts

Проверка работы

Выполните команду ниже:

./cli.sh image-api test - http://<host>

Вывод теста должен иметь следующий вид:

face-detector-face-fitter ✓
age-estimator ✓
emotion-estimator ✓
gender-estimator ✓
face-detector-liveness-estimator ✓
liveness-estimator ✓
mask-estimator ✓
quality-assessment-estimator ✓
face-detector-template-extractor ✓
template-extractor ✓
body-detector ✓
verify-matcher ✓

Удаление

Выполните команду ниже:

./cli.sh image-api uninstall

Лицензирование

Установка лицензии

Распакуйте дистрибутив Image API и переместите файл лицензии face_sdk.lic (файл прикреплен к электронному письму) в папку setup.

Обновление лицензии

  1. Переустановите секреты.
    ./cli.sh image-api install-secrets
  2. Удалите релиз из кластера.
    ./cli.sh image-api uninstall
  3. Установите релиз в кластер.
    ./cli.sh image-api install