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 Learning w klastrze AKS lub Arc Kubernetes można dołączyć klaster Kubernetes do obszaru roboczego usługi Azure Machine Learning 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 Learning 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 Learning, 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 Learning domyślnie ma przypisaną przez system tożsamość zarządzaną w celu uzyskania dostępu do zasobów usługi Azure Machine Learning. 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 obszarze roboczym usługi Azure Machine Learning, 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 | Czytelnik Współautor rozszerzenia Kubernetes Administrator klastra usługi Azure Kubernetes Service |
Dotyczy zarówno klastra Kubernetes z obsługą usługi Arc, jak i klastra AKS. |
Azure Kubernetes Service | Współautor | Wymagane tylko w przypadku klastrów usługi AKS korzystających z funkcji zaufanego dostępu. Obszar roboczy używa tożsamości zarządzanej przypisanej przez użytkownika. Aby uzyskać szczegółowe informacje, zobacz AzureML access to AKS clusters with special configurations (Dostęp usługi AzureML do klastrów usługi AKS ze specjalnymi konfiguracjami ). |
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 "Administrator klastra usługi Azure Kubernetes Service" 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 Learning
Obsługujemy dwa sposoby dołączania klastra Kubernetes do obszaru roboczego usługi Azure Machine Learning 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 Learning przesłane do tego środowiska obliczeniowego 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 zasoby obliczeniowe zostały już dołączone, możesz zaktualizować ustawienia tak, aby używały tożsamości zarządzanej w usłudze Azure Machine Learning Studio.
- Przejdź do usługi Azure Machine Learning Studio. Wybierz pozycję Obliczenia, Dołączone zasoby obliczeniowe i wybierz dołączone zasoby obliczeniowe.
- Wybierz ikonę ołówka, aby edytować tożsamość zarządzaną.
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.
- Przypisywanie ról przy użyciu witryny Azure Portal
- Przypisywanie ról przy użyciu interfejsu wiersza polecenia platformy Azure
- Przypisywanie ról przy użyciu programu Azure PowerShell
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.