Развертывание сервиса машинного обучения через
Kubernetes
- Подготовка к развертыванию;
- Развертывание ML-сервиса;
- Настройка LLM-компонента сервиса машинного обучения.
Подготовка к развертыванию
Для получения дистрибутива сервиса машинного обучения BPMSoft необходимо отправить запрос в техническую поддержку BPMSoft.
При работе с сервисом машинного обучения необходимо использовать сервер с установленной операционной системой Linux. Подробнее: Системные требования к сервису машинного обучения.
Перед развертыванием сервиса машинного обучения необходимо провести предварительную настройку инфраструктуры. Для этого установите следующие компоненты:
- Кластер Kubernetes. Информация по настройке и администрированию представлена в документации Kubernetes;
- Пакетный менеджер Helm. Решение поддерживается и тестировалось для Helm v3. Информация по настройке Helm представлена в документации Helm.
Поставка ML-сервиса для развертывания в Kubernetes представляет собой helm-чарт, включающий в себя следующие компоненты:
- Chart.yaml — служебная информация о решении;
- templates — директория, содержащая шаблоны helm-чартов для развертывания и настройки компонентов ML-сервиса;
- values.yaml — конфигурационный файл со значениями параметров, которые будут подставлены в шаблоны при развертывании.
Развертывание ML-сервиса
- Распакуйте архив дистрибутива:
unzip ml-service-bpmsoft.zip
- Перейдите в директорию с распакованными файлами:
cd release/Helm
- Установите helm-чарт. Для установки helm-чарта необходимо, находясь в директории release/Helm, выполнить команду:
helm install --namespace ml-bpmsoft --create-namespace --set db.storageClassName=nfs --set ingress.hosts[0]=ml.domain.ru ml-bpmsoft ml/
где:
- <namespace> — наименование неймпспейса;
- <create-namespace> — флаг создания неймспейса;
- <db.storageClassName> — имя класса хранилища для выделения ресурсов под persistent volumes. Необходимо указать значение параметра storageClassName в соответствии с вашими настройками Kubernetes. Для корректной работы всех сервисов требуется предварительно установить NFS-сервер;
- <ingress.hosts[0]> — параметры ingress в соответствии с вашими настройками Kubernetes. По умолчанию используется в настройках развертывания используется nginx ingress controller. Если вы используете иной инструмент, то необходимо внести корректировки в файл values.yaml в блоке <ingress>. В BPMSoft необходимо указать адрес ML-сервиса в справочнике «Задачи машинного обучения» в соответствии с настройками ingress.
Дополнительно в команде можно указать следующие параметры:
- <db.kubernetesDeploy> (по умолчанию true) — если требуется развертывание базы данных в Kubernetes, иначе — false. По умолчанию шаблон развертывания базы данных в Kubernetes не использует persistent volumes, для продуктивного развертывания рекомендуется настроить и использовать persistent volumes, воспользовавшись инструкцией с официального сайта Kubernetes;
- <db.server> — адрес сервера. По умолчанию при kubernetesDeploy равном true — ml-bpmsoft-ml- service-database. При установке значения false в параметре kubernetesDeploy требуется указать адрес сервера вашей базы данных;
- <db.pwd> — пароль пользователя базы данных (по умолчанию password). Рекомендуется изменить значение на пароль, соответствующий политике безопасности вашей компании;
- <db.storage> — объем хранилища БД (по умолчанию 50Гб).
helm install --namespace ml-bpmsoft --create-namespace --set db.kubernetesDeploy=true --set db.storageClassName=nfs --set ingress.hosts[0]=ml.domain.ru --set db.server=db.domain.ru --set db.pwd=password --set db.storage=100G ml-bpmsoft ml/
Настройка LLM-компонента сервиса машинного обучения
Для обучения модели сегментации клиентов нужно установить LLM-компонент после сервиса машинного обучения. Подробнее: Развертывание LLM-компонента сервиса машинного обучения через Docker.
Настройка сервиса машинного обучения на стороне BPMSoft
После установки сервиса машинного обучения необходимо подключить его на стороне BPMSoft. Подробнее: Подключение к сервису машинного обучения.
Рекомендуем изучить
Системные требования к сервису машинного обучения
Сервис машинного обучения
Подключение к сервису машинного обучения