Поделиться через


Подключение кластера Kubernetes к рабочей области Машинного обучения Azure

ОБЛАСТЬ ПРИМЕНЕНИЯ:Расширение машинного обучения Azure CLI версии 2 (current)Python SDK azure-ai-ml версии 2 (current)

После развертывания расширения Машинное обучение Azure в кластере AKS или Arc Kubernetes можно подключить кластер Kubernetes к Машинное обучение Azure рабочей области и создать целевые объекты вычислений для специалистов по машинному обучению.

Необходимые компоненты

Присоединение кластера Kubernetes к рабочей области Машинное обучение Azure может гибко поддерживать множество различных сценариев. Например, общие сценарии с несколькими вложениями, скрипты обучения модели, обращающиеся к ресурсам Azure, и конфигурация проверки подлинности рабочей области.

Изоляция нескольких подключений и рабочей нагрузки

Один кластер в одну рабочую область, создание нескольких целевых объектов вычислений

  • Для одного кластера Kubernetes его можно подключить к одной рабочей области несколько раз и создать несколько целевых объектов вычислений для различных проектов, команд или рабочих нагрузок.

Один кластер в несколько рабочих областей

  • Один кластер Kubernetes можно также подключить к нескольким рабочим областям, а несколько рабочих областей могут совместно использовать один и тот же кластер Kubernetes.

Если вы планируете использовать разные целевые объекты вычислений для различных проектов или команд, можно указать существующее пространство имен Kubernetes в кластере для целевого объекта вычислений для изоляции рабочей нагрузки между различными командами или проектами.

Внимание

Пространство имен, которое вы планируете указать при присоединении кластера к рабочей области Машинное обучение Azure, необходимо создать в кластере ранее.

Безопасный доступ к ресурсу Azure из скрипта обучения

Если необходимо безопасно получить доступ к ресурсу Azure из скрипта обучения, можно указать управляемое удостоверение для целевого объекта вычислений Kubernetes во время операции подключения.

Присоединение к рабочей области с управляемым удостоверением, назначаемое пользователем

Машинное обучение Azure рабочей области по умолчанию имеет управляемое удостоверение, назначаемое системой, для доступа к ресурсам Машинное обучение Azure. Действия выполняются, если параметр по умолчанию для управляемого удостоверения, назначаемого системой, включен.

В противном случае, если управляемое удостоверение, назначаемое пользователем, указано в создании рабочей области Машинное обучение Azure, перед присоединением вычислительных ресурсов необходимо предоставить следующие назначения ролей вручную.

Имя ресурса Azure Назначенные роли Description
Azure Relay Владелец Azure Relay Применяется только к кластеру Kubernetes с поддержкой Arc. Azure Relay не создается для кластера AKS без подключения к Arc.
Kubernetes — Azure Arc или Служба Azure Kubernetes Читатель
Участник расширения Kubernetes
Администратор кластера Служба Azure Kubernetes
Применяется к кластеру Kubernetes с поддержкой Arc и кластеру AKS.

Совет

Ресурс Azure Relay создается при развертывании расширения в той же группе ресурсов, что и кластер Kubernetes с поддержкой Arc.

Примечание.

  • Если разрешение роли "Участник расширения Kubernetes" недоступно, вложение кластера завершается ошибкой "расширение не установлено".
  • Если разрешение роли "Служба Azure Kubernetes администратор кластера" недоступно, вложение кластера завершается ошибкой "внутренний сервер".

Подключение кластера Kubernetes к рабочей области Машинное обучение Azure

Мы поддерживаем два способа подключения кластера Kubernetes к Машинное обучение Azure рабочей области с помощью Azure CLI или пользовательского интерфейса студии.

В следующих командах CLI версии 2 показано, как подключить кластер Kubernetes с поддержкой AKS и Azure Arc и использовать его в качестве целевого объекта вычислений с включенным управляемым удостоверением.

Кластер AKS

az ml compute attach --resource-group <resource-group-name> --workspace-name <workspace-name> --type Kubernetes --name k8s-compute --resource-id "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ContainerService/managedclusters/<cluster-name>" --identity-type SystemAssigned --namespace <Kubernetes namespace to run Azure Machine Learning workloads> --no-wait

Кластер Kubernetes с Arc

az ml compute attach --resource-group <resource-group-name> --workspace-name <workspace-name> --type Kubernetes --name amlarc-compute --resource-id "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Kubernetes/connectedClusters/<cluster-name>" --user-assigned-identities "subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identity-name>" --no-wait

Задайте для аргумента --type значение Kubernetes. Используйте аргумент identity_type для включения управляемых удостоверений SystemAssigned или UserAssigned.

Внимание

--user-assigned-identities требуется только для управляемых удостоверений UserAssigned. Хотя вы можете предоставить список управляемых пользователем удостоверений с разделителями-запятыми, при присоединении кластера будет использоваться только первый из них.

При подключении вычислительные ресурсов пространство имен Kubernetes не создается автоматически и не выполняется проверка того, существует ли пространство имен Kubernetes. Необходимо убедиться, что указанное пространство имен существует в кластере, в противном случае все Машинное обучение Azure рабочие нагрузки, отправленные в этот вычислительный ресурс, завершится ошибкой.

Назначение управляемого удостоверения целевому объекту вычислений

Распространенной проблемой для разработчиков является управление секретами и учетными данными, используемыми для защиты обмена данными между различными компонентами решения. Управляемые удостоверения устраняют необходимость в управлении учетными данными для разработчиков.

Чтобы получить доступ к Реестр контейнеров Azure (ACR) для образа Docker и учетной записи хранения для обучающих данных, подключите вычислительные ресурсы Kubernetes с включенным управляемым удостоверением, назначаемого системой или назначаемого пользователем.

Назначение управляемого удостоверения

  • Управляемое удостоверение можно назначить вычислению на шаге подключения вычислений.

  • Если вычислительные ресурсы уже подключены, можно обновить параметры для использования управляемого удостоверения в Студия машинного обучения Azure.

    • Перейдите к Студия машинного обучения Azure. Выберите вычислительные ресурсы, подключенные вычисления и выберите подключенные вычислительные ресурсы.
    • Щелкните значок карандаша, чтобы изменить управляемое удостоверение.

    Снимок экрана: обновление удостоверения вычислений Kubernetes из портал Azure.

    Снимок экрана: выбор удостоверения вычислений Kubernetes из портал Azure.

Назначение ролей Azure управляемому удостоверению

Azure предлагает несколько способов назначения ролей управляемому удостоверению.

Если вы используете портал Azure для назначения ролей и назначаемого системой управляемого удостоверения, выберите пользователя, участника-группы или субъекта-службы, можно найти имя удостоверения, выбрав "Выбрать участников". Имя удостоверения должно быть отформатировано следующим образом <workspace name>/computes/<compute target name>:

Если у вас есть управляемое удостоверение, назначаемое пользователем, выберите управляемое удостоверение , чтобы найти целевое удостоверение.

Управляемое удостоверение можно использовать для извлечения изображений из Реестр контейнеров Azure. Предоставьте роль AcrPull управляемому удостоверению вычислений. Дополнительные сведения см. в разделе Реестр контейнеров Azure ролях и разрешениях.

Для доступа к BLOB-объектам Azure можно использовать управляемое удостоверение:

  • Для назначения только для чтения роль чтения данных BLOB-объектов хранилища должна быть предоставлена управляемому удостоверению вычислений.
  • Для чтения и записи роль участника данных BLOB-объектов хранилища должна быть предоставлена управляемому удостоверению вычислений.

Следующие шаги