65 lines
No EOL
4.9 KiB
Markdown
65 lines
No EOL
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 пакеты должны быть закрыты для внешнего неавторизованного доступа,
|
||
должны быть доступны для разработчиков размещаемых приложений. |