Koppla ett Kubernetes-kluster till Azure Machine Learning-arbetsytan

GÄLLER FÖR:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (aktuell)

När Azure Machine Learning-tillägget har distribuerats i AKS- eller Arc Kubernetes-kluster kan du koppla Kubernetes-klustret till Azure Machine Learning-arbetsytan och skapa beräkningsmål som ML-proffs kan använda.

Förutsättningar

Att ansluta ett Kubernetes-kluster till Azure Machine Learning-arbetsytan kan flexibelt stödja många olika scenarier. Till exempel delade scenarier med flera bifogade filer, modellträningsskript som har åtkomst till Azure-resurser och autentiseringskonfigurationen för arbetsytan.

Isolering av flera anslutningar och arbetsbelastningar

Ett kluster till en arbetsyta, vilket skapar flera beräkningsmål

  • För samma Kubernetes-kluster kan du koppla det till samma arbetsyta flera gånger och skapa flera beräkningsmål för olika projekt/team/arbetsbelastningar.

Ett kluster till flera arbetsytor

  • För samma Kubernetes-kluster kan du även koppla det till flera arbetsytor och flera arbetsytor kan dela samma Kubernetes-kluster.

Om du planerar att ha olika beräkningsmål för olika projekt/team kan du ange det befintliga Kubernetes-namnområdet i klustret för beräkningsmålet för att isolera arbetsbelastningen mellan olika team/projekt.

Viktigt!

Den namnrymd som du planerar att ange när du kopplar klustret till Azure Machine Learning-arbetsytan bör skapas tidigare i klustret.

Åtkomst till Azure-resurs på ett säkert sätt från träningsskript

Om du behöver komma åt Azure-resursen på ett säkert sätt från ditt träningsskript kan du ange en hanterad identitet för Kubernetes-beräkningsmål under anslutningsåtgärden.

Koppla till arbetsytan med användartilldelad hanterad identitet

Azure Machine Learning-arbetsytan har som standard en systemtilldelad hanterad identitet för åtkomst till Azure Machine Learning-resurser. Stegen slutförs om den systemtilldelade standardinställningen är aktiverad.

Om en användartilldelad hanterad identitet anges i skapande av Azure Machine Learning-arbetsyta måste följande rolltilldelningar beviljas till den hanterade identiteten manuellt innan beräkningen kopplas.

Azure-resursnamn Roller som ska tilldelas beskrivning
Azure Relay Azure Relay-ägare Gäller endast för Arc-aktiverade Kubernetes-kluster. Azure Relay skapas inte för AKS-kluster utan Arc-anslutet.
Kubernetes – Azure Arc eller Azure Kubernetes Service Läsare
Kubernetes-tilläggsdeltagare
Azure Kubernetes Service-klusteradministratör
Gäller för både Arc-aktiverade Kubernetes-kluster och AKS-kluster.

Dricks

Azure Relay-resursen skapas under tilläggsdistributionen under samma resursgrupp som Det Arc-aktiverade Kubernetes-klustret.

Kommentar

  • Om rollbehörigheten "Kubernetes-tilläggsdeltagare" inte är tillgänglig misslyckas klusterbilagan med felet "tillägget är inte installerat".
  • Om rollbehörigheten "Azure Kubernetes Service Cluster Admin" inte är tillgänglig misslyckas klusterbilagan med felet "intern server".

Så här kopplar du ett Kubernetes-kluster till Azure Machine Learning-arbetsytan

Vi stöder två sätt att koppla ett Kubernetes-kluster till Azure Machine Learning-arbetsytan med hjälp av Azure CLI eller studiogränssnittet.

Följande CLI v2-kommandon visar hur du kopplar ett AKS- och Azure Arc-aktiverat Kubernetes-kluster och använder det som beräkningsmål med hanterad identitet aktiverad.

AKS-kluster

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-kluster

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 Ange argumentet till Kubernetes. identity_type Använd argumentet för att aktivera SystemAssigned eller UserAssigned hantera identiteter.

Viktigt!

--user-assigned-identities krävs endast för UserAssigned hanterade identiteter. Även om du kan ange en lista över kommaavgränsade användarhanterade identiteter används endast den första när du kopplar klustret.

Compute Attach skapar inte Kubernetes-namnområdet automatiskt eller verifierar inte om kubernetes-namnområdet fanns. Du måste kontrollera att det angivna namnområdet finns i klustret, annars misslyckas alla Azure Machine Learning-arbetsbelastningar som skickas till den här beräkningen.

Tilldela hanterad identitet till beräkningsmålet

En vanlig utmaning för utvecklare är hanteringen av hemligheter och autentiseringsuppgifter som används för att skydda kommunikationen mellan olika komponenter i en lösning. Med hanterade identiteter behöver inte utvecklare hantera autentiseringsuppgifter.

Om du vill komma åt Azure Container Registry (ACR) för en Docker-avbildning och ett lagringskonto för träningsdata bifogar du Kubernetes-beräkning med en systemtilldelad eller användartilldelad hanterad identitet aktiverad.

Tilldela hanterad identitet

  • Du kan tilldela en hanterad identitet till beräkningen i beräkningsanslutningssteget.

  • Om beräkningen redan har kopplats kan du uppdatera inställningarna för att använda en hanterad identitet i Azure Machine Learning-studio.

    • Gå till Azure Machine Learning-studio. Välj Beräkning, Bifogad beräkning och välj din anslutna beräkning.
    • Välj pennikonen för att redigera hanterad identitet.

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

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

Tilldela Azure-roller till hanterad identitet

Azure erbjuder ett par sätt att tilldela roller till en hanterad identitet.

Om du använder Azure-portalen för att tilldela roller och har en systemtilldelad hanterad identitet, Välj användare, Grupphuvudnamn eller Tjänsthuvudnamn, kan du söka efter identitetsnamnet genom att välja Välj medlemmar. Identitetsnamnet måste formateras som: <workspace name>/computes/<compute target name>.

Om du har användartilldelad hanterad identitet väljer du Hanterad identitet för att hitta målidentiteten.

Du kan använda Hanterad identitet för att hämta avbildningar från Azure Container Registry. Bevilja AcrPull-rollen till den hanterade beräkningsidentiteten. Mer information finns i Roller och behörigheter för Azure Container Registry.

Du kan använda en hanterad identitet för att komma åt Azure Blob:

  • För skrivskyddad användning bör rollen Storage Blob Data Reader beviljas till den beräkningshanterade identiteten.
  • I läs- och skrivsyfte bör rollen Storage Blob Data Contributor beviljas till den beräkningshanterade identiteten.

Nästa steg