unip-controller/deploy/README.md

65 lines
4.9 KiB
Markdown
Raw Permalink Normal View History

2025-01-29 13:13:51 +00:00
# Инструкция по установке Единого 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 пакеты должны быть закрыты для внешнего неавторизованного доступа,
должны быть доступны для разработчиков размещаемых приложений.