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

Дополнительная информация#

В данном разделе приводится следующая дополнительная информация:

Создание секрета для авторизации в реестре Docker#

Чтобы скачивать образы с сервисами LUNA PLATFORM нужно авторизироваться в реестре Docker.

Создайте файл с учетными данными, например, vlabs-credentials.txt, содержащий логин и пароль:

{
  "auths": {
    "dockerhub.visionlabs.ru": {
      "username": "your_username",
      "password": "your_password"
    }
  }
}

Предоставьте Kubernetes доступ к реестру с образами Docker.

kubectl create secret generic my-dockerhub-secret --from-file=.dockerconfigjson=vlabs-credentials.txt --type=kubernetes.io/dockerconfigjson

Если вы ранее уже авторизировались через команду docker login, то можно предоставить доступ Kubernetes с помощью следующей команды:

kubectl create secret generic my-dockerhub-secret --from-file=.dockerconfigjson=$HOME/.docker/config.json --type=kubernetes.io/dockerconfigjson

Секрет можно указать во время настройки Helm чартов.

Использование GPU в Minikube#

Minikube — это инструмент для локальной установки и управления кластером Kubernetes. Он используется разработчиками и тестировщиками для создания и тестирования приложений в локальной среде перед их развертыванием в более крупных кластерах Kubernetes.

Использование GPU в Minikube поддерживается только с версии 1.32.

Каждый сервис LUNA PLATFORM, поддерживающий работу на GPU, автоматически создает процессы на GPU, независимо от того, какие ресурсы (CPU или GPU) установлены. Если запускается более одного сервиса на GPU, то ресурсы графического процессора необходимо делить между ними чтобы избежать возможных ошибок, вызванных конфликтом доступа к видеокарте.

См. официальную документацию NVIDIA для более подробной информации о разделении ресурсов GPU.

Для изоляции сервисов от GPU и предотвращения создания ими дополнительных процессов следует установить переменную окружения CUDA_VISIBLE_DEVICES/NVIDIA_VISIBLE_DEVICES на none для тех сервисов, которые используют GPU и не должны использоваться.

env:
  - name: CUDA_VISIBLE_DEVICES
    value: none

Компиляция библиотеки VLMatch для Oracle#

Примечание. В следующей инструкции описана установка для Oracle 21c.

Все файлы, требуемые для компиляции расширения, заданного пользователем (UDx), в VLMatch, можно найти в следующей директории:

/var/lib/luna/luna_v.5.67.0/extras/VLMatch/oracle

Для компиляции функции VLMatch UDx необходимо:

sudo yum install gcc g++ 
  • Поменяйте переменную SDK_HOME — oracle sdk root (по умолчанию $ORACLE_HOME/bin, проверьте, что переменная окружения $ORACLE_HOME задана) в makefile.
vi /var/lib/luna/luna_v.5.67.0/extras/VLMatch/oracle/make.sh
  • Откройте директорию и запустите файл "make.sh".
cd /var/lib/luna/luna_v.5.67.0/extras/VLMatch/oracle
chmod +x make.sh
./make.sh
  • Определите библиотеку и функцию внутри базы данных (из консоли базы данных):
CREATE OR REPLACE LIBRARY VLMatchSource AS '$ORACLE_HOME/bin/VLMatchSource.so';
CREATE OR REPLACE FUNCTION VLMatch(descriptorFst IN RAW, descriptorSnd IN RAW, length IN BINARY_INTEGER)
   RETURN BINARY_FLOAT 
AS
   LANGUAGE C
   LIBRARY VLMatchSource
   NAME "VLMatch"
   PARAMETERS (descriptorFst BY REFERENCE, descriptorSnd BY REFERENCE, length UNSIGNED SHORT, RETURN FLOAT);
  • Протестируйте функцию посредством вызова (из консоли базы данных):
SELECT VLMatch(HEXTORAW('1234567890123456789012345678901234567890123456789012345678901234'), HEXTORAW('0123456789012345678901234567890123456789012345678901234567890123'), 32) FROM DUAL;

Результат должен быть равен "0.4765625".

Перенесите сгенерированный файл VLMatchSource.so в СУБД Oracle.