Установка плагинов Kubeflow
На этой странице описано, как развернуть плагины, связанные с Kubeflow, в Alauda AI 2.0 и более поздних версиях.
Поддерживаемые плагины:
kfbase: базовые компоненты Kubeflow, включая аутентификацию и авторизацию, центральную панель, Notebooks, PVC Viewer, TensorBoards, Volumes, Model Registry UI, KServe Endpoints UI и сервис API Model Catalog.model-registry-operator: Kubeflow Model Registry Operator.kfp: Kubeflow Pipelines.kftraining: Kubeflow Training Operator. Этот плагин устарел.kubeflow-trainer: Kubeflow Trainer v2 для управления обучающими заданиями. Этот плагин заменяетkftraining.
Содержание
Подготовка окруженияНастройка перенаправления DexНастройка плагинаoauth2-proxyНастройка ASM v1 (устарело)Настройка ASM v2Подключение компонентовШаги развертывания1. Разверните kfbase (Kubeflow Base)2. Создайте namespace пользователя Kubeflow и привяжите пользователя3. Привяжите пользователя к существующему namespace4. Разверните kfp и kftraining (устарело)5. Разверните Kubeflow Model Registry6. Разверните kubeflow-trainer (Kubeflow Trainer v2)Подготовка окружения
Перед началом работы убедитесь, что выполнены следующие предварительные условия:
- Доступно и работает окружение ACP.
- Alauda AI уже развернут. Требуется Alauda AI 2.0 или более поздняя версия.
- Установлен Alauda Build of KServe.
- ASM развернут в бизнес-кластере, где будет работать Kubeflow. Если ASM еще не установлен, разверните его перед продолжением. ASM v1 устарел. По возможности используйте ASM v2.
- Плагин LWS, Alauda Build of LeaderWorkerSet, установлен, если вы планируете развернуть
kubeflow-trainer. - Плагин
oauth2-proxyнастроен, как описано ниже.
Настройка перенаправления Dex
Примечание: настройте URL доступа к платформе для перенаправления Dex перед установкой плагина
kfbase. Этот шаг может обновить CA-сертификат платформы. Если сертификат изменится после настройкиoauth2-proxy, настройкаoauth2-proxyможет завершиться с ошибкой.
В Administrator > System Settings > Platform Parameters нажмите Edit рядом с Platform Access URLs и добавьте URL перенаправления в формате https://<your-kubeflow-domain>, например https://kubeflow.example.com.
<your-kubeflow-domain>должен соответствовать значениюkubeflowDomain, настроенному для плагинаkfbase.
Настройка плагина oauth2-proxy
Получите CA-сертификат Dex платформы для последующего использования в кластере Global:
Настройка ASM v1 (устарело)
В глобальном кластере или в ACP Platform Management > Resource Management обновите ресурс ServiceMesh и добавьте следующий контент в spec.
Примечание: если
spec.values.pilot.jwksResolverExtraRootCAуже настроен, обновите толькоspec.meshConfig.extensionProviders. Добавляйте новые записи, не удаляя существующие.
Настройка ASM v2
Примечание: если какие-либо webhook ASM v1 все еще присутствуют, сначала удалите их. Иначе аутентификация Kubeflow может завершиться неудачей.
В ACP перейдите в Administrator > MarketPlace > OperatorHub, найдите Alauda Service Mesh v2, откройте вкладку All Instances, найдите экземпляр типа Istio, например default, нажмите Update и добавьте следующий контент в spec:
Подключение компонентов
Скачайте установочные пакеты для следующих плагинов и загрузите их с помощью violet:
kfbase: базовая функциональность Kubeflow.model-registry-operator: Kubeflow Model Registry Operator.kfp: Kubeflow Pipelines.kftraining: Kubeflow Training Operator. Этот плагин устарел.kubeflow-trainer: Kubeflow Trainer v2. Этот плагин заменяетkftraining.
Примечание: если вы хотите включить поддержку планировщика Volcano для
kftraining, разверните Volcano перед установкойkftraining.
Шаги развертывания
1. Разверните kfbase (Kubeflow Base)
В Cluster Plugins найдите плагин kfbase, выполните настройку на странице и дождитесь завершения развертывания.
После развертывания:
- В Administrator > System Settings > Platform Parameters убедитесь, что Platform Access URLs содержит адрес в формате
https://<your-kubeflow-domain>, где<your-kubeflow-domain>— значениеkubeflowDomain, настроенное для плагинаkfbase. - Настройте DNS-разрешение или добавьте запись в локальный hosts-файл, чтобы
<your-kubeflow-domain>разрешался в IP-адрес, назначенный дляkubectl -n istio-system get gateway kubeflow-external-gateway.
После развертывания запись Kubeflow появляется в разделе Tools в Alauda AI.
Для действий, специфичных для обновления, см. Обновление плагинов Kubeflow.
2. Создайте namespace пользователя Kubeflow и привяжите пользователя
Перед первым входом пользователя в Kubeflow привяжите пользователя ACP к namespace. Следующий пример создает namespace kubeflow-admin-cpaas-io и назначает владельцем admin@cpaas.io.
Примечание: если ресурс
Profileуже был создан во время развертывания Alauda AI, этот шаг можно пропустить.Примечание: перед созданием экземпляров Notebook и подобных рабочих нагрузок может потребоваться понизить уровень Pod Security Admission для namespace пользователя.
3. Привяжите пользователя к существующему namespace
Если Alauda AI уже был развернут и namespace kubeflow-admin-cpaas-io уже существует, ресурс Profile также может уже существовать. Если namespace по-прежнему не отображается в Kubeflow, создайте следующие ресурсы, чтобы привязать учетную запись к namespace:
4. Разверните kfp и kftraining (устарело)
В Cluster Plugins найдите kfp и kftraining и разверните их по необходимости.
Примечание: после развертывания
kfpфункции, связанные с pipeline, становятся доступны в пользовательском интерфейсе Kubeflow.Примечание:
kftraining— это контроллер, работающий в фоновом режиме. Он не отображается как пункт меню в пользовательском интерфейсе Kubeflow.
5. Разверните Kubeflow Model Registry
В Administrator > MarketPlace > OperatorHub найдите Model Registry Operator и нажмите Install.
После установки оператора откройте вкладку All Instances и создайте экземпляр ModelRegistry в namespace пользователя.
Примечание: создавайте экземпляр в namespace, который уже привязан к Kubeflow
Profile. В противном случае UI Model Registry не отображается.
При создании экземпляра при необходимости настройте следующие поля:
- Name: имя экземпляра Model Registry.
- Namespace: namespace, в котором будет работать экземпляр. Это должен быть namespace, уже привязанный к Kubeflow
Profile. - MySQL Storage Class: класс хранения, используемый для метаданных Model Registry, например
standard. - MySQL Storage Size: размер хранилища для базы данных метаданных. По умолчанию
10Gi. - DisplayName: отображаемое имя экземпляра Model Registry.
- Description: краткое описание экземпляра.
Примечание: после запуска экземпляра обновите запись Model Registry в левом меню Kubeflow, чтобы увидеть новый экземпляр. До создания первого экземпляра страница Model Registry пустая.
Примечание: экземпляр Model Registry ограничивает сетевые запросы из других namespace. Чтобы разрешить дополнительные namespace, отредактируйте
authorizationpolicyдля экземпляра, напримерkubectl -n <your-namespace> edit authorizationpolicy <model-registry-name>, и обновите политику согласно документации Istio.Примечание: вы можете развернуть несколько экземпляров Model Registry в разных namespace. Каждый экземпляр независим.
6. Разверните kubeflow-trainer (Kubeflow Trainer v2)
Примечание: если
kftrainingуже развернут, удалите его перед развертываниемkubeflow-trainer.Примечание: установите плагин LWS перед развертыванием
kubeflow-trainer, поскольку LWS является зависимостьюkubeflow-trainer.Примечание: Kubeflow Trainer v2 требует Kubernetes
1.32.3или более поздней версии. Более старые версии Kubernetes могут привести к непредсказуемому поведению.
В Cluster Plugins найдите kubeflow-trainer, нажмите Install, выберите, нужно ли включать JobSet, и завершите установку.