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