Kubeflow Chart Plugins
Развертывание плагинов Kubeflow в Alauda AI версии >= 2.0. Включает:
- kfbase: базовые компоненты Kubeflow, включая аутентификацию и авторизацию, центральную панель управления, notebook, pvc-viewer, tensorboards, volumes, интерфейс модели реестра, интерфейс конечных точек kserve, сервис API каталога моделей и др.
- model-registry-operator: оператор Kubeflow Model Registry
- kfp: Kubeflow Pipeline
- kftraining: оператор Kubeflow Training (устаревший)
- kubeflow-trainer: плагин управления задачами обучения Kubeflow, также известный как Kubeflow Trainer v2 (заменяет kftraining)
Содержание
Подготовка окруженияНастройка плагина oauth2-proxyПодключение компонентовШаги развертывания1. Развертывание kfbase (Kubeflow Base)2. Создание пользователя Kubeflow и привязка к namespace3. Если пользователь привязывается к уже созданному namespace, необходимо также выполнить следующую настройку:4. Развертывание kfp (Kubeflow Pipeline) и kftrainer (Kubeflow Training Operator)5. Развертывание Kubeflow Model Registry6. Развертывание kubeflow-trainer (Kubeflow Trainer v2)Подготовка окружения
- Запущенная среда ACP
- Убедитесь, что Alauda AI развернута (требуется версия Alauda AI >= 2.0)
- Разверните ASM в бизнес-кластере, где будет развернут Kubeflow (если ASM не был развернут на предыдущем шаге) (на данный момент поддерживается ASM v1. Поддержка ASM v2 ожидается в будущем)
- Разверните плагин LWS (Alauda Build of LeaderWorkerSet), который является зависимостью Kubeflow Trainer v2.
- Настройте плагин oauth2-proxy, как описано ниже
Настройка плагина oauth2-proxy
Получите CA сертификат платформы dex для последующего использования в кластере Global:
Затем перейдите в глобальный кластер или в acp Platform Management -> Resource Management, обновите ресурс ServiceMesh, добавив следующий контент в поле spec:
Примечание: Если spec.values.pilot.jwksResolverExtraRootCA уже настроен, вы можете настроить только spec.meshConfig.extensionProviders, добавляя новые, не удаляя существующие spec.meshConfig.extensionProviders
Подключение компонентов
Получите установочные пакеты для следующих плагинов и используйте инструмент violet для завершения подключения.
- kfbase: базовый функционал Kubeflow
- model-registry-operator: оператор Kubeflow Model Registry
- kfp: функционал Kubeflow Pipeline
- kftraining: оператор Kubeflow Training (устаревший)
- kubeflow-trainer: плагин управления задачами обучения Kubeflow (заменяет kftraining)
Примечание: Для плагина kftraining, если вы хотите включить поддержку планировщика volcano, необходимо сначала развернуть volcano, затем kftraining.
Шаги развертывания
1. Развертывание kfbase (Kubeflow Base)
В разделе Cluster Plugins найдите плагин kfbase (Kubeflow Base), заполните конфигурацию согласно подсказкам на странице и дождитесь завершения развертывания компонента.
После развертывания необходимо выполнить следующие действия для настройки перенаправления dex:
В Administrator - System Settings - Platform Parameters нажмите кнопку "Edit" справа от Platform Access URLs и добавьте URL перенаправления в формате https://<your-kubeflow-domain>:<port>/, например, https://192.168.139.133:30443/. Обратите внимание, что хост должен совпадать с oidcRedirectURL, настроенным на странице развертывания плагина kfbase, а порт — с istioGatewayNodeportHTTPS.
После развертывания в навигации Alauda AI в разделе Tools появится пункт меню Kubeflow. Нажмите, чтобы войти в интерфейс Kubeflow.
2. Создание пользователя Kubeflow и привязка к namespace
Перед первым входом в Kubeflow необходимо привязать пользователя ACP к namespace. Пользователи могут использовать следующий пример: создайте namespace kubeflow-admin-cpaas-io и привяжите пользователя admin@cpaas.io в качестве владельца.
Примечание: Если ресурс Profile уже был развернут при установке Alauda AI, этот шаг можно пропустить
Примечание: Возможно, потребуется понизить уровень Pod Security Admission в namespace пользователя для создания экземпляров Notebook и др.
3. Если пользователь привязывается к уже созданному namespace, необходимо также выполнить следующую настройку:
Если на предыдущем шаге Alauda AI была развернута, namespace kubeflow-admin-cpaas-io создан, ресурс Profile также создан, но namespace не выбирается, можно создать привязку ролей для аккаунта, используя следующий ресурс.
4. Развертывание kfp (Kubeflow Pipeline) и kftrainer (Kubeflow Training Operator)
Аналогично, в разделе Cluster Plugins найдите kfp (Kubeflow Pipeline) и kftrainer (Kubeflow Training Operator).
Примечание: После развертывания Kubeflow Pipeline функции, связанные с Pipeline, станут доступны в интерфейсе Kubeflow.
Примечание: Kubeflow Training Operator является фоновым планировщиком задач и не отображается в меню и функциях UI.
5. Развертывание Kubeflow Model Registry
В Administrator - MarketPlace - OperatorHub найдите Model Registry Operator, нажмите кнопку "Install" для завершения развертывания оператора.
После установки оператора необходимо создать экземпляр ModelRegistry в namespace пользователя, переключитесь на вкладку All Instances, нажмите кнопку "Create" для создания экземпляра.
Примечание: Экземпляр должен быть создан в namespace, который уже привязан к профилю пользователя Kubeflow, иначе интерфейс Model Registry не будет отображаться
При создании экземпляра настройте следующие параметры по необходимости:
- Name: имя экземпляра Model Registry.
- Namespace: namespace, в котором расположен экземпляр Model Registry, должен быть привязан к профилю пользователя Kubeflow.
- MySQL Storage Class: класс хранилища MySQL для хранения метаданных Model Registry. Заполните согласно доступным классам хранилища в вашем кластере, например,
standard. - MySQL Storage Size: размер хранилища MySQL для хранения метаданных Model Registry. Значение по умолчанию
10Gi, можно настроить по необходимости. - DisplayName: отображаемое имя экземпляра Model Registry.
- Description: краткое описание экземпляра Model Registry.
Примечание: После запуска экземпляра Model Registry обновите меню Model Registry в левой навигации страницы Kubeflow, чтобы увидеть созданный экземпляр. До создания первого экземпляра интерфейс Kubeflow Model Registry будет пустым.
Примечание: Экземпляр Model Registry ограничивает сетевые запросы из namespace, отличных от текущего. Если необходимо разрешить доступ из других namespace, вручную отредактируйте kubectl -n <your-namespace> edit authorizationpolicy <model-registry-name> и согласно документации istio добавьте разрешённые namespace.
Примечание: Можно установить несколько экземпляров Model Registry в разных namespace, каждый экземпляр работает независимо.
6. Развертывание kubeflow-trainer (Kubeflow Trainer v2)
Примечание: Перед развертыванием kubeflow-trainer необходимо удалить kftraining (Kubeflow Training Operator), если он уже развернут.
Примечание: Убедитесь, что плагин LWS (Alauda Build of LeaderWorkerSet) установлен перед развертыванием kubeflow-trainer, так как LWS является зависимостью kubeflow-trainer.
Примечание: Kubeflow Trainer v2 требует минимальную версию Kubernetes
1.32.3, более старые версии Kubernetes могут вызвать непредвиденные проблемы.
В разделе Cluster Plugins найдите kubeflow-trainer (Kubeflow Trainer v2), нажмите кнопку "Install", выберите опции включения JobSet и нажмите "Install" для завершения развертывания.