Kubernetes-cluster koppelen aan Azure Machine Learning-werkruimte

VAN TOEPASSING OP:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (current)

Zodra de Azure Machine Learning-extensie is geïmplementeerd op een AKS- of Arc Kubernetes-cluster, kunt u het Kubernetes-cluster koppelen aan de Azure Machine Learning-werkruimte en rekendoelen maken die ML-professionals kunnen gebruiken.

Vereisten

Het koppelen van een Kubernetes-cluster aan een Azure Machine Learning-werkruimte kan flexibel ondersteuning bieden voor veel verschillende scenario's. Bijvoorbeeld de gedeelde scenario's met meerdere bijlagen, modeltrainingsscripts die toegang hebben tot Azure-resources en de verificatieconfiguratie van de werkruimte.

Isolatie van meerdere attachs en werkbelastingen

Eén cluster naar één werkruimte, waarbij meerdere rekendoelen worden gemaakt

  • Voor hetzelfde Kubernetes-cluster kunt u het meerdere keren koppelen aan dezelfde werkruimte en meerdere rekendoelen maken voor verschillende projecten/teams/workloads.

Eén cluster naar meerdere werkruimten

  • Voor hetzelfde Kubernetes-cluster kunt u het ook koppelen aan meerdere werkruimten en de meerdere werkruimten kunnen hetzelfde Kubernetes-cluster delen.

Als u van plan bent om verschillende rekendoelen voor verschillende projecten/teams te hebben, kunt u de bestaande Kubernetes-naamruimte in uw cluster opgeven voor het rekendoel om de workload tussen verschillende teams/projecten te isoleren.

Belangrijk

De naamruimte die u wilt opgeven wanneer u het cluster koppelt aan de Azure Machine Learning-werkruimte, moet eerder in uw cluster worden gemaakt.

Veilige toegang tot Azure-resource vanuit trainingsscript

Als u veilig toegang wilt krijgen tot Azure-resources vanuit uw trainingsscript, kunt u een beheerde identiteit opgeven voor kubernetes-rekendoel tijdens het koppelen.

Koppelen aan werkruimte met door de gebruiker toegewezen beheerde identiteit

Azure Machine Learning-werkruimte heeft standaard een door het systeem toegewezen beheerde identiteit voor toegang tot Azure Machine Learning-resources. De stappen worden voltooid als de door het systeem toegewezen standaardinstelling is ingeschakeld.

Als er anders een door de gebruiker toegewezen beheerde identiteit is opgegeven in het maken van een Azure Machine Learning-werkruimte, moeten de volgende roltoewijzingen handmatig worden verleend aan de beheerde identiteit voordat de berekening wordt gekoppeld.

Azure-resourcenaam Rollen die moeten worden toegewezen Beschrijving
Azure Relay Azure Relay-eigenaar Alleen van toepassing op Kubernetes-cluster met Arc. Azure Relay wordt niet gemaakt voor een AKS-cluster zonder verbinding met Arc.
Kubernetes - Azure Arc of Azure Kubernetes Service Lezer
Inzender voor Kubernetes-extensies
Azure Kubernetes Service Cluster Beheer
Van toepassing op zowel Kubernetes-cluster met Arc als een AKS-cluster.

Tip

Azure Relay-resource wordt gemaakt tijdens de implementatie van de extensie onder dezelfde resourcegroep als het Kubernetes-cluster met Arc.

Notitie

  • Als de rolmachtiging 'Inzender voor Kubernetes-extensie' niet beschikbaar is, mislukt de clusterbijlage met de fout 'Extensie niet geïnstalleerd'.
  • Als de rolmachtiging 'Azure Kubernetes Service Cluster Beheer' niet beschikbaar is, mislukt de clusterbijlage met de fout 'interne server'.

Een Kubernetes-cluster koppelen aan een Azure Machine Learning-werkruimte

We ondersteunen twee manieren om een Kubernetes-cluster te koppelen aan een Azure Machine Learning-werkruimte, met behulp van de Gebruikersinterface van Azure CLI of Studio.

De volgende CLI v2-opdrachten laten zien hoe u een AKS- en Kubernetes-cluster met Azure Arc koppelt en gebruikt als rekendoel waarbij beheerde identiteit is ingeschakeld.

AKS-cluster

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

Arc Kubernetes-cluster

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

Stel het --type argument in op Kubernetes. Gebruik het identity_type argument om beheerde identiteiten in te schakelen SystemAssigned of UserAssigned te beheren.

Belangrijk

--user-assigned-identities is alleen vereist voor UserAssigned beheerde identiteiten. Hoewel u een lijst met door komma's gescheiden door gebruikers beheerde identiteiten kunt opgeven, wordt alleen de eerste gebruikt wanneer u uw cluster koppelt.

Met compute-attach wordt de Kubernetes-naamruimte niet automatisch gemaakt of wordt gecontroleerd of de kubernetes-naamruimte bestaat. U moet controleren of de opgegeven naamruimte aanwezig is in uw cluster, anders mislukken alle Azure Machine Learning-workloads die naar deze berekening worden verzonden.

Beheerde identiteit toewijzen aan het rekendoel

Een veelvoorkomende uitdaging voor ontwikkelaars is het beheer van geheimen en referenties die worden gebruikt om de communicatie tussen verschillende onderdelen van een oplossing te beveiligen. Beheerde identiteiten elimineren de noodzaak voor ontwikkelaars om referenties te beheren.

Als u toegang wilt krijgen tot Azure Container Registry (ACR) voor een Docker-installatiekopieën en een opslagaccount voor trainingsgegevens, koppelt u Kubernetes Compute met een door het systeem toegewezen of door de gebruiker toegewezen beheerde identiteit ingeschakeld.

Beheerde identiteit toewijzen

  • U kunt een beheerde identiteit toewijzen aan de berekening in de stap rekenkoppeling.

  • Als de berekening al is gekoppeld, kunt u de instellingen bijwerken voor het gebruik van een beheerde identiteit in Azure Machine Learning-studio.

    • Ga naar Azure Machine Learning-studio. Selecteer Compute, Attached Compute en selecteer uw gekoppelde berekening.
    • Selecteer het potloodpictogram om een beheerde identiteit te bewerken.

    Screenshot of updating identity of the Kubernetes compute from Azure portal.

    Screenshot of selecting identity of the Kubernetes compute from Azure portal.

Azure-rollen toewijzen aan beheerde identiteit

Azure biedt een aantal manieren om rollen toe te wijzen aan een beheerde identiteit.

Als u Azure Portal gebruikt om rollen toe te wijzen en een door het systeem toegewezen beheerde identiteit te hebben, selecteert u Gebruiker, Groeps-principal of Service-principal, kunt u zoeken naar de naam van de identiteit door Leden selecteren te selecteren. De naam van de identiteit moet worden opgemaakt als: <workspace name>/computes/<compute target name>.

Als u een door de gebruiker toegewezen beheerde identiteit hebt, selecteert u Beheerde identiteit om de doelidentiteit te vinden.

U kunt Managed Identity gebruiken om installatiekopieën op te halen uit Azure Container Registry. Verdeel de AcrPull-rol aan de beheerde identiteit voor rekenkracht. Zie Azure Container Registry-rollen en -machtigingen voor meer informatie.

U kunt een beheerde identiteit gebruiken voor toegang tot Azure Blob:

  • Voor alleen-lezendoeleinden moet de rol Opslagblobgegevenslezer worden verleend aan de beheerde identiteit voor rekenkracht.
  • Voor het lezen/schrijven moet de rol Inzender voor opslagblobgegevens worden verleend aan de beheerde identiteit voor rekenkracht.

Volgende stappen