65 lines
4.9 KiB
Markdown
65 lines
4.9 KiB
Markdown
|
|
# Инструкция по установке Единого MLOps фреймворка Центра ИИ НИУ ВШЭ (Unified Platform)
|
|||
|
|
|
|||
|
|
Этот документ описывает основные шаги и особенности установки
|
|||
|
|
Единого MLOps фреймворка Центра ИИ НИУ ВШЭ (Unified Platform).
|
|||
|
|
|
|||
|
|
## Предусловия
|
|||
|
|
|
|||
|
|
См. [документ](prerequisites.md) с описанием предусловий.
|
|||
|
|
|
|||
|
|
## Установка фреймворка
|
|||
|
|
|
|||
|
|
Установка состоит из следующих этапов:
|
|||
|
|
1. Развертывание на платформе Kubernetes контроллеров и сервисов фреймворка;
|
|||
|
|
2. Загрузка образов и Python пакетов фреймворка в реестры образов и Python пакетов фреймворка;
|
|||
|
|
|
|||
|
|
Компоненты фреймворка:
|
|||
|
|
1. Контроллер публикации API (apicmp);
|
|||
|
|
2. Сервис управления данными (files);
|
|||
|
|
3. Контроллер развертывания моделей (mlcmp);
|
|||
|
|
4. Сервис отслеживания экспериментов, конвейеров (pipelines);
|
|||
|
|
5. Контроллер репозиториев (repo);
|
|||
|
|
6. Контроллер приложений (papp);
|
|||
|
|
7. Контроллер модулей данных (datasets);
|
|||
|
|
8. Контроллер ссылок (links);
|
|||
|
|
9. Сервис развертывания (gitops);
|
|||
|
|
10. Каталог приложений (app-catalog);
|
|||
|
|
11. Библиотека адаптеров сложного конвейера (mldev-pipeline);
|
|||
|
|
12. Библиотека подключения вычислительного кластера (slurm);
|
|||
|
|
|
|||
|
|
Библиотеки загружаются в реестр Python пакетов.
|
|||
|
|
Установка остальных компонентов осуществляется путем создания ресурсов Kubernetes из манифестов,
|
|||
|
|
входящих в поставку фреймворка.
|
|||
|
|
|
|||
|
|
При развертывании компонентов фреймворка из манифестов следует внести следующие корректировки в манифесты:
|
|||
|
|
1. Изменить `storageClassName` в манифестах PersistentVolume и PersistentVolumeClaim на имя StorageClass,
|
|||
|
|
который поддерживается платформой Kubernetes. Из-за особенностей системы хранения используемой платформой,
|
|||
|
|
могут потребоваться и другие корректировки спецификации объектов PersistentVolume и PersistentVolumeClaim;
|
|||
|
|
2. Изменить используемые доменные имена в соответствующих местах в ресурсах видов: Secret, ConfigMap, Ingress;
|
|||
|
|
|
|||
|
|
### Развертывание контроллеров и сервисов фреймворка
|
|||
|
|
|
|||
|
|
#### Развертывание контроллеров, сервисов управления данными и отслеживания экспериментов
|
|||
|
|
|
|||
|
|
Развертывание контроллеров, сервисов управления данными и отслеживания экспериментов описано
|
|||
|
|
в [документе](./controller.md).
|
|||
|
|
|
|||
|
|
#### Развертывание сервиса развертывания
|
|||
|
|
|
|||
|
|
В качестве сервиса развертывания используется ArgoCD,
|
|||
|
|
установка и настройка описывается в [официальной документации](https://argo-cd.readthedocs.io/en/stable/getting_started/).
|
|||
|
|
|
|||
|
|
### Загрузка образов и Python пакетов фреймворка в реестры образов и Python пакетов фреймворка
|
|||
|
|
|
|||
|
|
Библиотеки фреймворка:
|
|||
|
|
1. Библиотека развертывания моделей (mlcmp), является Python пакетом unip-mlcmp версии 0.2.10.1;
|
|||
|
|
|
|||
|
|
Образы фреймворка:
|
|||
|
|
1. Образ, используемый сервисом конвейеров (pipelines),
|
|||
|
|
является Docker образом unip-pipeline-validate-results:0.3.7-9c53a08;
|
|||
|
|
|
|||
|
|
После выполнения установки компонентов фреймворка, необходимо загрузить Python пакеты компонентов фреймворка
|
|||
|
|
в реестр Python пакетов фреймворка и загрузить образы фреймворка в реестр образов фреймворка.
|
|||
|
|
|
|||
|
|
Загруженные образы и Python пакеты должны быть закрыты для внешнего неавторизованного доступа,
|
|||
|
|
должны быть доступны для разработчиков размещаемых приложений.
|