unip-controller/deploy/README.md
2025-04-15 20:56:15 +03:00

65 lines
No EOL
4.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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