Подключение кластера 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 Kubernetes | Участник | Требуется только для кластеров AKS, использующих функцию доверенного доступа. В рабочей области используется управляемое удостоверение, назначаемое пользователем. Дополнительные сведения см. в статье о доступе AzureML к кластерам 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. Выберите вычислительные ресурсы, подключенные вычисления и выберите подключенные вычислительные ресурсы.
- Щелкните значок карандаша, чтобы изменить управляемое удостоверение.
Назначение ролей Azure управляемому удостоверению
Azure предлагает несколько способов назначения ролей управляемому удостоверению.
- Назначение ролей с помощью портал Azure
- Назначение ролей с помощью Azure CLI
- Назначение ролей с помощью Azure PowerShell
Если вы используете портал Azure для назначения ролей и назначаемого системой управляемого удостоверения, выберите пользователя, участника-группы или субъекта-службы, можно найти имя удостоверения, выбрав "Выбрать участников". Имя удостоверения должно быть отформатировано следующим образом <workspace name>/computes/<compute target name>
:
Если у вас есть управляемое удостоверение, назначаемое пользователем, выберите управляемое удостоверение , чтобы найти целевое удостоверение.
Управляемое удостоверение можно использовать для извлечения изображений из Реестр контейнеров Azure. Предоставьте роль AcrPull управляемому удостоверению вычислений. Дополнительные сведения см. в разделе Реестр контейнеров Azure ролях и разрешениях.
Для доступа к BLOB-объектам Azure можно использовать управляемое удостоверение:
- Для назначения только для чтения роль чтения данных BLOB-объектов хранилища должна быть предоставлена управляемому удостоверению вычислений.
- Для чтения и записи роль участника данных BLOB-объектов хранилища должна быть предоставлена управляемому удостоверению вычислений.