Dołączanie klastra Kubernetes do obszaru roboczego usługi Azure Machine Learning

DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure w wersji 2 (current)Zestaw PYTHON SDK azure-ai-ml v2 (bieżąca)

Po wdrożeniu rozszerzenia usługi Azure Machine Edukacja w klastrze AKS lub Arc Kubernetes można dołączyć klaster Kubernetes do obszaru roboczego usługi Azure Machine Edukacja i utworzyć cele obliczeniowe dla specjalistów uczenia maszynowego do użycia.

Wymagania wstępne

Dołączanie klastra Kubernetes do obszaru roboczego usługi Azure Machine Edukacja może elastycznie obsługiwać wiele różnych scenariuszy. Na przykład udostępnione scenariusze z wieloma załącznikami, skryptami trenowania modelu, które uzyskują dostęp do zasobów platformy Azure, oraz konfiguracją uwierzytelniania obszaru roboczego.

Izolacja wielu dołączań i obciążeń

Jeden klaster do jednego obszaru roboczego, tworząc wiele obiektów docelowych obliczeniowych

  • W przypadku tego samego klastra Kubernetes można go dołączyć do tego samego obszaru roboczego wiele razy i utworzyć wiele obiektów docelowych obliczeniowych dla różnych projektów/zespołów/obciążeń.

Jeden klaster do wielu obszarów roboczych

  • W przypadku tego samego klastra Kubernetes można go również dołączyć do wielu obszarów roboczych, a wiele obszarów roboczych może współużytkować ten sam klaster Kubernetes.

Jeśli planujesz mieć różne cele obliczeniowe dla różnych projektów/zespołów, możesz określić istniejącą przestrzeń nazw Kubernetes w klastrze, aby docelowy obiekt obliczeniowy odizolował obciążenie między różnymi zespołami/projektami.

Ważne

Przestrzeń nazw, którą planujesz określić podczas dołączania klastra do obszaru roboczego usługi Azure Machine Edukacja, powinna zostać wcześniej utworzona w klastrze.

Bezpieczny dostęp do zasobu platformy Azure z poziomu skryptu szkoleniowego

Jeśli chcesz bezpiecznie uzyskać dostęp do zasobu platformy Azure ze skryptu szkoleniowego, możesz określić tożsamość zarządzaną dla docelowego obiektu obliczeniowego kubernetes podczas operacji dołączania.

Dołączanie do obszaru roboczego przy użyciu tożsamości zarządzanej przypisanej przez użytkownika

Obszar roboczy usługi Azure Machine Edukacja domyślnie ma tożsamość zarządzaną przypisaną przez system w celu uzyskania dostępu do zasobów usługi Azure Machine Edukacja. Kroki są wykonywane, jeśli jest włączone ustawienie domyślne przypisane przez system.

W przeciwnym razie, jeśli tożsamość zarządzana przypisana przez użytkownika zostanie określona w usłudze Azure Machine Edukacja utworzeniu obszaru roboczego, przed dołączeniem zasobów obliczeniowych należy udzielić następujących przypisań ról do tożsamości zarządzanej ręcznie.

Nazwa zasobu platformy Azure Role do przypisania opis
Azure Relay Właściciel usługi Azure Relay Dotyczy tylko klastra Kubernetes z obsługą usługi Arc. Usługa Azure Relay nie jest tworzona dla klastra usługi AKS bez połączenia z usługą Arc.
Kubernetes — Azure Arc lub Azure Kubernetes Service Czytnik
Współautor rozszerzenia Kubernetes
Administracja klastra usługi Azure Kubernetes Service
Dotyczy zarówno klastra Kubernetes z obsługą usługi Arc, jak i klastra AKS.

Napiwek

Zasób usługi Azure Relay jest tworzony podczas wdrażania rozszerzenia w ramach tej samej grupy zasobów co klaster Kubernetes z obsługą usługi Arc.

Uwaga

  • Jeśli uprawnienie roli "Współautor rozszerzenia Kubernetes" jest niedostępne, załącznik klastra kończy się niepowodzeniem z powodu błędu "rozszerzenie nie zostało zainstalowane".
  • Jeśli uprawnienie roli "Klaster usługi Azure Kubernetes Service Administracja" jest niedostępne, załącznik klastra kończy się niepowodzeniem z powodu błędu "wewnętrzny serwer".

Jak dołączyć klaster Kubernetes do obszaru roboczego usługi Azure Machine Edukacja

Obsługujemy dwa sposoby dołączania klastra Kubernetes do obszaru roboczego usługi Azure Machine Edukacja przy użyciu interfejsu wiersza polecenia platformy Azure lub interfejsu użytkownika programu Studio.

Następujące polecenia interfejsu wiersza polecenia w wersji 2 pokazują, jak dołączyć klaster Kubernetes z obsługą usług AKS i Azure Arc oraz używać go jako obiektu docelowego obliczeniowego z włączoną tożsamością zarządzaną.

Klaster usługi 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

Klaster Kubernetes usługi 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 Ustaw argument na Kubernetes. Użyj argumentu identity_type , aby włączyć SystemAssigned lub UserAssigned zarządzać tożsamościami.

Ważne

--user-assigned-identities jest wymagany tylko w przypadku UserAssigned tożsamości zarządzanych. Chociaż można podać listę tożsamości zarządzanych przez użytkowników rozdzielonych przecinkami, podczas dołączania klastra jest używana tylko pierwsza z nich.

Dołączanie obliczeniowe nie spowoduje automatycznego utworzenia przestrzeni nazw platformy Kubernetes ani sprawdzenia, czy przestrzeń nazw kubernetes istniała. Należy sprawdzić, czy określona przestrzeń nazw istnieje w klastrze, w przeciwnym razie wszystkie obciążenia usługi Azure Machine Edukacja przesłane do tego obliczenia nie powiedzą się.

Przypisywanie tożsamości zarządzanej do docelowego obiektu obliczeniowego

Typowym wyzwaniem dla deweloperów jest zarządzanie wpisami tajnymi i poświadczeniami używanymi do zabezpieczania komunikacji między różnymi składnikami rozwiązania. Tożsamości zarządzane eliminują potrzebę zarządzania poświadczeniami przez deweloperów.

Aby uzyskać dostęp do usługi Azure Container Registry (ACR) dla obrazu platformy Docker i konta magazynu na potrzeby danych szkoleniowych, dołącz środowisko obliczeniowe Kubernetes z włączoną tożsamością zarządzaną przypisaną przez system lub przypisaną przez użytkownika.

Przypisywanie tożsamości zarządzanej

  • Tożsamość zarządzaną można przypisać do obliczeń w kroku dołączania zasobów obliczeniowych.

  • Jeśli środowisko obliczeniowe zostało już dołączone, możesz zaktualizować ustawienia tak, aby używały tożsamości zarządzanej w usłudze Azure Machine Edukacja Studio.

    • Przejdź do usługi Azure Machine Edukacja Studio. Wybierz pozycję Obliczenia, Dołączone zasoby obliczeniowe i wybierz dołączone zasoby obliczeniowe.
    • Wybierz ikonę ołówka, aby edytować tożsamość zarządzaną.

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

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

Przypisywanie ról platformy Azure do tożsamości zarządzanej

Platforma Azure oferuje kilka sposobów przypisywania ról do tożsamości zarządzanej.

Jeśli używasz witryny Azure Portal do przypisywania ról i masz tożsamość zarządzaną przypisaną przez system, wybierz pozycję Użytkownik, Jednostka grupy lub Jednostka usługi, możesz wyszukać nazwę tożsamości, wybierając pozycję Wybierz członków. Nazwa tożsamości musi być sformatowana jako: <workspace name>/computes/<compute target name>.

Jeśli masz tożsamość zarządzaną przypisaną przez użytkownika, wybierz pozycję Tożsamość zarządzana, aby znaleźć tożsamość docelową.

Tożsamość zarządzana umożliwia ściąganie obrazów z usługi Azure Container Registry. Udziel roli AcrPull tożsamości zarządzanej obliczeniowej. Aby uzyskać więcej informacji, zobacz Role i uprawnienia usługi Azure Container Registry.

Aby uzyskać dostęp do obiektu blob platformy Azure, możesz użyć tożsamości zarządzanej:

  • W celu tylko do odczytu rola Czytelnik danych obiektu blob usługi Storage powinna zostać udzielona tożsamości zarządzanej obliczeniowej.
  • W przypadku przeznaczenia odczytu i zapisu rola Współautor danych obiektu blob usługi Storage powinna zostać udzielona tożsamości zarządzanej obliczeniowej.

Następne kroki