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

4.9 KiB
Raw Permalink Blame History

Инструкция по установке Единого MLOps фреймворка Центра ИИ НИУ ВШЭ (Unified Platform)

Этот документ описывает основные шаги и особенности установки Единого MLOps фреймворка Центра ИИ НИУ ВШЭ (Unified Platform).

Предусловия

См. документ с описанием предусловий.

Установка фреймворка

Установка состоит из следующих этапов:

  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;

Развертывание контроллеров и сервисов фреймворка

Развертывание контроллеров, сервисов управления данными и отслеживания экспериментов

Развертывание контроллеров, сервисов управления данными и отслеживания экспериментов описано в документе.

Развертывание сервиса развертывания

В качестве сервиса развертывания используется ArgoCD, установка и настройка описывается в официальной документации.

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