Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Einen Amazon-EKS-Cluster in Studio einrichten
Den größten Teil dieser Einrichtung führen Sie von Ihrer HyperPod Cluster-Detailseite in der SageMaker AI-Konsole aus. Öffnen Sie die SageMaker AI-Konsole, wählen Sie HyperPod Cluster aus, wählen Sie Ihren Cluster aus und wählen Sie dann die Registerkarte Konfiguration. Wählen Sie unter Cluster-Zugriff für SageMaker Domänen die Option Zugriff verwalten aus. Hier können Sie eine Domain erstellen oder anzeigen und die Cluster-Zugriffsrichtlinien anhängen, mit denen Studio-Benutzer den Cluster erreichen können.
Der folgende Screenshot zeigt den Abschnitt Cluster-Zugriff für SageMaker Domänen auf der Registerkarte Konfiguration.
In den folgenden Anweisungen wird die Einrichtung eines Amazon-EKS-Clusters in Studio beschrieben.
-
Wählen Sie auf der Seite „Zugriff verwalten“ eine vorhandene Domäne aus. Der Studio-Zugriff auf einen HyperPod Cluster erfolgt über eine Domain, und die Domain-Ausführungsrolle ist der IAM-Principal, den Studio verwendet, um auf Ihrem Cluster zu agieren. Weitere Informationen zum Erstellen einer Domain finden Sie unter Anleitung zur Einrichtung von Amazon SageMaker AI.
-
Weisen Sie Ihrer Ausführungsrolle von der IAM-Konsole aus die folgenden Berechtigungen zu.
Informationen zu SageMaker AI-Ausführungsrollen und deren Bearbeitung finden Sie unterGrundlegendes zu Domainbereichsberechtigungen und Ausführungsrollen.
Informationen zum Hinzufügen von Richtlinien zu einem IAM-Benutzer oder einer IAM-Gruppe finden Sie unter Hinzufügen und Entfernen von IAM-Identitätsberechtigungen.
Bevor Sie die Richtlinie anhängen, ersetzen Sie beide Beispiel-ARNs durch Ihre eigenen:
-
Ersetzen Sie
arn:aws:sagemaker:us-east-1:111122223333:cluster/hyperpod-cluster-namedurch Ihren HyperPod Cluster-ARN. -
arn:aws:eks:us-east-1:111122223333:cluster/eks-cluster-nameErsetzen Sie es durch Ihren Amazon EKS-Cluster-ARN. Es erscheint zweimal, inUseEksClusterPermissionsund inDescribeSpacesAddon, wo es ein Ende trägt./*
Dies sind zwei verschiedene Ressourcen mit zwei verschiedenen ARNs. Suchen Sie den HyperPod Cluster-ARN in der SageMaker AI-Konsole und den Amazon EKS-Cluster-ARN in der Amazon EKS-Konsole. Wenn Sie die Beispielwerte unverändert lassen, kann Studio Ihren Cluster nicht beschreiben und die Registerkarte „Aufgaben“ wird nicht geladen.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DescribeHyperpodClusterPermissions", "Effect": "Allow", "Action": [ "sagemaker:DescribeCluster" ], "Resource": "arn:aws:sagemaker:us-east-1:111122223333:cluster/hyperpod-cluster-name" }, { "Effect": "Allow", "Action": "ec2:Describe*", "Resource": "*" }, { "Effect": "Allow", "Action": [ "ecr:CompleteLayerUpload", "ecr:GetAuthorizationToken", "ecr:UploadLayerPart", "ecr:InitiateLayerUpload", "ecr:BatchCheckLayerAvailability", "ecr:PutImage" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData", "cloudwatch:GetMetricData" ], "Resource": "*" }, { "Sid": "UseEksClusterPermissions", "Effect": "Allow", "Action": [ "eks:DescribeCluster", "eks:AccessKubernetesApi", "eks:MutateViaKubernetesApi" ], "Resource": "arn:aws:eks:us-east-1:111122223333:cluster/eks-cluster-name" }, { "Sid": "DescribeSpacesAddon", "Effect": "Allow", "Action": "eks:DescribeAddon", "Resource": "arn:aws:eks:us-east-1:111122223333:cluster/eks-cluster-name/*" }, { "Sid": "ListClustersPermission", "Effect": "Allow", "Action": [ "sagemaker:ListClusters" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:TerminateSession" ], "Resource": "*" } ] } -
-
Hängen Sie Cluster-Zugriffsrichtlinien an die Ausführungsrolle an. Die IAM-Richtlinie im vorherigen Schritt ermöglicht es der Ausführungsrolle, die APIs aufzurufen. AWS Sie erteilt der Rolle keine Berechtigungen innerhalb des Kubernetes-Clusters. Cluster-access Richtlinien tun das, und nur eine Rolle mit den richtigen angehängten Rollen erreicht den Cluster. Hängen Sie sie über „Zugriff verwalten“, in der Domain oder im Benutzerprofil an.
Wählen Sie die Ausführungsrolle für die Domain oder das Benutzerprofil aus, für die Sie Zugriff gewähren, und wählen Sie dann die Richtlinien aus, die Ihre Benutzer benötigen. Wählen Sie aus, ob Sie den Zugriff auf einen Namespace oder auf den gesamten Cluster einschränken möchten. Wenn Teams einen Cluster gemeinsam nutzen, wird der Bereich auf einen Namespace beschränkt, und speichern Sie dann. Durch den Geltungsbereich eines Namespaces wird auch eingeschränkt, welche Aufgaben diese Benutzer in Studio sehen können. Informationen darüber, was die einzelnen Richtlinien zulassen, wie Sie den Zugriff einschränken und wie Sie stattdessen einen benutzerdefinierten Satz von Berechtigungen gewähren, finden Sie unter. Beschränken Sie die Aufgabenansicht in Studio für EKS-Cluster
Wenn Sie den Zugriff auf diese Weise gewähren, wird für Sie der Amazon EKS-Zugriffseintrag für die Ausführungsrolle erstellt, sodass in der Amazon EKS-Konsole kein separater Schritt erforderlich ist. Die Konzepte hinter dem Zugriffsmodell finden Sie unter Gewähren Sie IAM-Benutzern Zugriff auf Kubernetes mit EKS-Zugriffseinträgen.
-
(Optional) Um ein reibungsloseres Erlebnis zu gewährleisten, empfehlen wir Ihnen, Ihren Clustern Tags hinzuzufügen. Informationen zum Hinzufügen von Tags finden Einen SageMaker HyperPod Cluster bearbeiten Sie unter So aktualisieren Sie Ihren Cluster mithilfe der SageMaker AI-Konsole.
Kennzeichnen Sie Ihren Amazon Managed Grafana-Workspace mit Ihrer Studio-Domain. Verwenden Sie dieses Tag, um direkt von Ihrem Cluster in Studio aus eine Verknüpfung zu Ihrem Grafana-Workspace herzustellen. Fügen Sie Ihrem Cluster das folgende Tag hinzu, um ihn mit Ihrer Grafana-Workspace-ID zu identifizieren.
ws-idTag-Schlüssel = „
grafana-workspace“, Tag-Wert = „ws-id“.
Beschränken Sie die Aufgabenansicht in Studio für EKS-Cluster
Sie können die Sichtbarkeit der Benutzer auf bestimmte Kubernetes-Namespaces einschränken und so sicherstellen, dass Benutzer auf die Ressourcen zugreifen können, die sie benötigen, während gleichzeitig strenge Zugriffskontrollen eingehalten werden.
Dafür gibt es zwei Möglichkeiten. Die Festlegung des Geltungsbereichs einer Clusterzugriffsrichtlinie auf einen Namespace erfolgt vollständig in der Konsole und ist die einfachere Option. Mit einer benutzerdefinierten Kubernetes-RBAC-Rolle haben Sie die Kontrolle über die genauen Verben und Ressourcen, die ein Benutzer erhält, auf Kosten der Verwaltung der Rolle selbst.
Schränken Sie dies mit einer Cluster-Zugriffsrichtlinie ein
HyperPod stellt Clusterzugriffsrichtlinien bereit, die Sie über die Registerkarte „Zugriff verwalten“ auf der Registerkarte „Konfiguration“ anhängen. Hängen Sie nur die Richtlinien an, die eine Gruppe von Benutzern benötigt, und beschränken Sie den Zugriff auf einen Namespace und nicht auf den gesamten Cluster. Dies ist derselbe Ablauf wie im dritten Schritt oben.
Wir empfehlen, dass Sie alle Richtlinien an die Rolle anhängen, um den vollen Funktionsumfang HyperPod in Studio nutzen zu können. Jede Richtlinie deckt einen anderen Teil des Erlebnisses ab. Wenn Sie also eine Richtlinie auslassen, werden die damit verbundenen Funktionen entfernt. Fügen Sie eine Teilmenge nur hinzu, wenn Sie beabsichtigen, dieser Gruppe von Benutzern eine Funktion vorzuenthalten.
| Richtlinie | Was sie erlaubt |
|---|---|
AmazonSagemakerHyperpodTrainingPolicy |
Schulungsworkloads einreichen und verwalten. Voller Zugriff RayCluster auf und RayCronJob auf KubeflowHyperPodPyTorchJob, undPyTorchJob, und auf MPIJob TFJob Kubernetes-Jobs und -Pods. RayJob Lesezugriff auf Pod-Logs, Config Maps, Ereignisse, Dienste, Dienstkonten, Ressourcenkontingente, Grenzbereiche, Bereitstellungen, Stateful-Sets, Replikatgruppen sowie lokale Kueue-Warteschlangen und Workloads. Kann eine erstellen. RayDashboardConnection |
AmazonSagemakerHyperpodInferencePolicy |
Bereitstellung und Verwaltung von Inferenz-Workloads. Voller Zugriff auf RayCluster undRayService, auf JumpStartModel InferenceEndpointConfigSageMakerEndpointRegistration, und und auf Pods. Lesezugriff auf Pod-Logs, Configmaps, Ereignisse, Dienste, Dienstkonten, Ressourcenkontingente, Grenzbereiche, Bereitstellungen, Stateful-Sets, Replikatgruppen, horizontale Pod-Autoscaler, Ingresses sowie lokale Kueue-Warteschlangen und Workloads. Kann eine erstellen. RayDashboardConnection |
AmazonSagemakerHyperpodSpacePolicy |
Verwenden Sie Räume für interaktive Entwicklung. Voller Zugriff auf Workspace Ressourcen und Lesezugriff auf Workspace-Vorlagen, Zugriffsstrategien und Integrationsvorlagen. Lesezugriff auf Pods, Dienste, Dienstkonten, persistente Volumenansprüche, Ereignisse, Ressourcenkontingente, Bindungen, Daemon-Sets, Bereitstellungen und Replikatgruppen. Kann einen erstellenWorkspaceConnection, was einen Raum öffnet. |
AmazonSagemakerHyperpodSpaceTemplatePolicy |
Lesen Sie die Vorlagen für gemeinsam genutzte Bereiche. Hängen Sie sie bereichsbezogen an den jupyter-k8s-shared Namespace an, in dem sich die Vorlagen befinden, und nicht an den Namespace, in dem Ihre Benutzer arbeiten. |
AmazonSagemakerHyperpodUserClusterPolicy |
Sehen Sie sich clusterweite Ressourcen an, die die Studio-Benutzeroberfläche zum Rendern benötigt. Lesezugriff auf Namespaces und Knoten, Zugriff auf benutzerdefinierte Ressourcendefinitionen, Lesezugriff auf Kueue-Cluster-Warteschlangen, Ressourcenvarianten und Workload-Prioritätsklassen sowie die Berechtigung, den eigenen Zugriff des Benutzers zu überprüfen. Hängen Sie es bereichsbezogen an den Cluster und nicht an einen Namespace an. |
Vollzugriff bedeutet Abrufen, Auflisten, Ansehen, Erstellen, Aktualisieren, Patchen und Löschen.
Dies sind Amazon EKS-Cluster-Zugriffsrichtlinien, keine von IAM verwalteten Richtlinien. Ihre ARNs haben das Formular. arn:<partition>:eks::aws:cluster-access-policy/<name> Wenn Sie einen Eintrag über „Zugriff verwalten“ anhängen, wird der Amazon EKS-Zugriffseintrag für die Ausführungsrolle erstellt. Dadurch wird die Richtlinie auf die Rolle angewendet.
Mit einer benutzerdefinierten Kubernetes-RBAC-Rolle einschränken
Verwenden Sie eine benutzerdefinierte Rolle, wenn Sie einen benutzerdefinierten Satz von Berechtigungen gewähren möchten, und nicht die, die eine Cluster-Zugriffsrichtlinie vorsieht. Die folgende Konfiguration ermöglicht es Administratoren, Datenwissenschaftlern bestimmten, eingeschränkten Zugriff auf Aufgaben innerhalb des Clusters zu gewähren. Diese Konfiguration gewährt die folgenden Berechtigungen:
-
Pods auflisten und abrufen
-
Ereignisse auflisten und abrufen
-
Holen Sie sich benutzerdefinierte Ressourcendefinitionen (CRDs)
YAML-Konfiguration
apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: pods-events-crd-cluster-role rules: - apiGroups: [""] resources: ["pods"] verbs: ["get", "list"] - apiGroups: [""] resources: ["events"] verbs: ["get", "list"] - apiGroups: ["apiextensions.k8s.io"] resources: ["customresourcedefinitions"] verbs: ["get"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: pods-events-crd-cluster-role-binding subjects: - kind: Group name: pods-events-crd-cluster-level apiGroup: rbac.authorization.k8s.io roleRef: kind: ClusterRole name: pods-events-crd-cluster-role apiGroup: rbac.authorization.k8s.io
-
Speichern Sie die YAML-Konfiguration in einer Datei mit dem Namen
cluster-role.yaml. -
Wenden Sie die Konfiguration mithilfe der
kubectlKubernetes-Website an: kubectl apply -f cluster-role.yaml -
Überprüfen Sie die Konfiguration:
kubectl get clusterrole pods-events-crd-cluster-role kubectl get clusterrolebinding pods-events-crd-cluster-role-binding -
Weisen Sie der
pods-events-crd-cluster-levelGruppe Benutzer über Ihren Identitätsanbieter oder IAM zu.