| .. | ||
| apicmps | ||
| argo-cd | ||
| common | ||
| crd | ||
| databoxes | ||
| datasets | ||
| files | ||
| kopf | ||
| oidc | ||
| pipelines | ||
| s3 | ||
| cluster-rb.yaml | ||
| cluster-role-read.yaml | ||
| cluster-role.yaml | ||
| config.md | ||
| controller.md | ||
| deployment.yaml | ||
| ns.yaml | ||
| prerequisites.md | ||
| README.md | ||
| sa.yaml | ||
Инструкция по установке Единого MLOps фреймворка Центра ИИ НИУ ВШЭ (Unified Platform)
Этот документ описывает основные шаги и особенности установки Единого MLOps фреймворка Центра ИИ НИУ ВШЭ (Unified Platform).
Предусловия
См. документ с описанием предусловий.
Установка фреймворка
Установка состоит из следующих этапов:
- Развертывание на платформе Kubernetes контроллеров и сервисов фреймворка;
- Загрузка образов и Python пакетов фреймворка в реестры образов и Python пакетов фреймворка;
Компоненты фреймворка:
- Контроллер публикации API (apicmp);
- Сервис управления данными (files);
- Контроллер развертывания моделей (mlcmp);
- Сервис отслеживания экспериментов, конвейеров (pipelines);
- Контроллер репозиториев (repo);
- Контроллер приложений (papp);
- Контроллер модулей данных (datasets);
- Контроллер ссылок (links);
- Сервис развертывания (gitops);
- Каталог приложений (app-catalog);
- Библиотека адаптеров сложного конвейера (mldev-pipeline);
- Библиотека подключения вычислительного кластера (slurm);
Библиотеки загружаются в реестр Python пакетов. Установка остальных компонентов осуществляется путем создания ресурсов Kubernetes из манифестов, входящих в поставку фреймворка.
При развертывании компонентов фреймворка из манифестов следует внести следующие корректировки в манифесты:
- Изменить
storageClassNameв манифестах PersistentVolume и PersistentVolumeClaim на имя StorageClass, который поддерживается платформой Kubernetes. Из-за особенностей системы хранения используемой платформой, могут потребоваться и другие корректировки спецификации объектов PersistentVolume и PersistentVolumeClaim; - Изменить используемые доменные имена в соответствующих местах в ресурсах видов: Secret, ConfigMap, Ingress;
Развертывание контроллеров и сервисов фреймворка
Развертывание контроллеров, сервисов управления данными и отслеживания экспериментов
Развертывание контроллеров, сервисов управления данными и отслеживания экспериментов описано в документе.
Развертывание сервиса развертывания
В качестве сервиса развертывания используется ArgoCD, установка и настройка описывается в официальной документации.
Загрузка образов и Python пакетов фреймворка в реестры образов и Python пакетов фреймворка
Библиотеки фреймворка:
- Библиотека развертывания моделей (mlcmp), является Python пакетом unip-mlcmp версии 0.2.10.1;
Образы фреймворка:
- Образ, используемый сервисом конвейеров (pipelines), является Docker образом unip-pipeline-validate-results:0.3.7-9c53a08;
После выполнения установки компонентов фреймворка, необходимо загрузить Python пакеты компонентов фреймворка в реестр Python пакетов фреймворка и загрузить образы фреймворка в реестр образов фреймворка.
Загруженные образы и Python пакеты должны быть закрыты для внешнего неавторизованного доступа, должны быть доступны для разработчиков размещаемых приложений.