View a markdown version of this page

Configurazione di un cluster Amazon EKS in Studio - Amazon SageMaker AI

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione di un cluster Amazon EKS in Studio

Puoi eseguire la maggior parte di questa configurazione dalla pagina dei dettagli del HyperPod cluster nella console SageMaker AI. Apri la console SageMaker AI, scegli HyperPod i cluster, scegli il tuo cluster, quindi scegli la scheda Configurazione. In Accesso al cluster per i SageMaker domini, scegli Gestisci l'accesso. Qui puoi creare o visualizzare un dominio e allegare le politiche di accesso al cluster che consentono agli utenti di Studio di raggiungere il cluster.

La schermata seguente mostra la sezione Accesso al cluster per i SageMaker domini nella scheda Configurazione.

La scheda Configurazione di un HyperPod cluster, che mostra i dettagli dell'orchestrator EKS e la sezione Accesso al cluster per i SageMaker domini con i pulsanti Crea dominio, Visualizza dominio e Gestisci accesso.

Nelle istruzioni seguenti viene descritto come configurare un cluster Amazon EKS in Studio.

  1. Nella pagina Gestisci l'accesso, seleziona un dominio esistente. L'accesso di Studio a un HyperPod cluster viene eseguito tramite un dominio e il ruolo di esecuzione del dominio è il principale IAM utilizzato da Studio per agire sul cluster. Per informazioni sulla creazione di un dominio, consulta Guida alla configurazione con Amazon SageMaker AI.

  2. Allega le seguenti autorizzazioni al tuo ruolo di esecuzione dalla console IAM.

    Per informazioni sui ruoli di esecuzione SageMaker AI e su come modificarli, consultaInformazioni sulle autorizzazioni e sui ruoli di esecuzione dello spazio del dominio.

    Per informazioni su come collegare le policy a un utente o a un gruppo IAM, consulta Adding and removing IAM identity permissions.

    Prima di allegare la policy, sostituisci entrambi gli ARN di esempio con i tuoi:

    • Sostituisci arn:aws:sagemaker:us-east-1:111122223333:cluster/hyperpod-cluster-name con il tuo HyperPod cluster ARN.

    • Sostituiscilo arn:aws:eks:us-east-1:111122223333:cluster/eks-cluster-name con il tuo cluster Amazon EKS ARN. Viene visualizzato due volte, all'interno UseEksClusterPermissions e all'internoDescribeSpacesAddon, nel punto in cui è seguito/*.

    Si tratta di due risorse diverse con due ARN diversi. Trova l'ARN del HyperPod cluster nella console SageMaker AI e l'ARN del cluster Amazon EKS nella console Amazon EKS. Se lasci i valori di esempio, Studio non può descrivere il cluster e la scheda Attività non viene caricata.

    { "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": "*" } ] }
  3. Allega le politiche di accesso al cluster al ruolo di esecuzione. La policy IAM nella fase precedente consente al ruolo di esecuzione di chiamare le AWS API. Non concede al ruolo alcuna autorizzazione all'interno del cluster Kubernetes. Cluster-access le policy lo fanno e solo un ruolo con quelli giusti collegati raggiunge il cluster. Allegali da Gestisci l'accesso, nel dominio o nel profilo utente.

    Seleziona il ruolo di esecuzione per il dominio o il profilo utente a cui concedi l'accesso, quindi seleziona le policy necessarie agli utenti. Scegli se assegnare l'ambito di accesso a un namespace o all'intero cluster, applicando l'ambito a un namespace quando i team condividono un cluster, quindi salva. L'assegnazione dell'ambito a un namespace limita anche le attività che gli utenti possono visualizzare in Studio. Per sapere cosa consente ciascuna policy, come definire l'ambito di accesso e come concedere invece un set personalizzato di autorizzazioni, consulta. Limitazione della visualizzazione delle attività in Studio per i cluster EKS

    La concessione dell'accesso in questo modo crea per te la voce di accesso Amazon EKS per il ruolo di esecuzione, quindi non esiste un passaggio separato nella console Amazon EKS. Per i concetti alla base del modello di accesso, consulta Concedere agli utenti IAM l'accesso a Kubernetes con le voci di accesso EKS.

  4. (Facoltativo) Per garantire un’esperienza più fluida, ti consigliamo di aggiungere tag ai tuoi cluster. Per informazioni su come aggiungere tag, consulta Modifica un SageMaker HyperPod cluster Aggiornare il cluster utilizzando la SageMaker console AI.

    Tagga lo spazio di lavoro Grafana gestito da Amazon al tuo dominio Studio. Usa questo tag per collegarti al tuo spazio di lavoro Grafana direttamente dal tuo cluster in Studio. Aggiungi il seguente tag al tuo cluster per identificarlo con il tuo ID dello spazio di lavoro Grafana,. ws-id

    Chiave tag = “grafana-workspace”, valore tag = “ws-id”.

Limitazione della visualizzazione delle attività in Studio per i cluster EKS

Puoi limitare la visibilità degli utenti a namespace Kubernetes specificati, assicurando che gli utenti possano accedere alle risorse di cui hanno bisogno mantenendo rigorosi controlli di accesso.

È possibile eseguire questa operazione in due modi. L'assegnazione dell'ambito di una policy di accesso al cluster a un namespace viene eseguita interamente nella console ed è l'opzione più semplice. Un ruolo Kubernetes RBAC personalizzato ti consente di controllare esattamente i verbi e le risorse che un utente ottiene, al costo di gestire il ruolo tu stesso.

Limita con una politica di accesso al cluster

HyperPod fornisce politiche di accesso al cluster che puoi allegare da Gestisci l'accesso nella scheda Configurazione. Allega solo le policy necessarie a un set di utenti e definisci l'ambito di accesso a un namespace anziché all'intero cluster. Si tratta dello stesso flusso del terzo passaggio precedente.

Ti consigliamo di allegare tutte le politiche al ruolo per un'esperienza completa HyperPod in Studio. Ogni policy copre una parte diversa dell'esperienza, quindi lasciarne una disattivata rimuove la funzionalità che garantisce. Allega un sottoinsieme solo quando intendi negare una funzionalità a quel set di utenti.

Policy Cosa consente
AmazonSagemakerHyperpodTrainingPolicy Invia e gestisci i carichi di lavoro di formazione. Accesso completo aRayCluster, eRayJob, a RayCronJobHyperPodPyTorchJob, Kubeflow PyTorchJob e ai job e TFJob ai pod Kubernetes. MPIJob Accesso in lettura ai log dei pod, alle mappe di configurazione, agli eventi, ai servizi, agli account di servizio, alle quote di risorse, agli intervalli di limiti, alle distribuzioni, ai set di stato, ai set di repliche e alle code e ai carichi di lavoro locali di Kueue. Può creare unRayDashboardConnection.
AmazonSagemakerHyperpodInferencePolicy Implementa e gestisci i carichi di lavoro di inferenza. Accesso completo a RayCluster e RayService JumpStartModelInferenceEndpointConfig, a e e ai SageMakerEndpointRegistration pod. Accesso in lettura ai log dei pod, alle mappe di configurazione, agli eventi, ai servizi, agli account di servizio, alle quote di risorse, agli intervalli di limiti, alle implementazioni, ai set di stateful, ai set di repliche, ai pod autoscaler orizzontali, agli ingressi e alle code e ai carichi di lavoro locali di Kueue. Può creare un. RayDashboardConnection
AmazonSagemakerHyperpodSpacePolicy Usa gli spazi per lo sviluppo interattivo. Accesso completo alle Workspace risorse e accesso in lettura ai modelli di spazio di lavoro, alle strategie di accesso e ai modelli di integrazione. Accesso in lettura a pod, servizi, account di servizio, attestazioni di volume persistenti, eventi, quote di risorse, associazioni, set di daemon, implementazioni e set di repliche. Può creare unWorkspaceConnection, che è ciò che apre uno spazio.
AmazonSagemakerHyperpodSpaceTemplatePolicy Leggi i modelli di spazio condiviso. Associalo con ambito al jupyter-k8s-shared namespace, dove risiedono i modelli, anziché allo spazio dei nomi in cui lavorano i tuoi utenti.
AmazonSagemakerHyperpodUserClusterPolicy Visualizza le risorse a livello di cluster, di cui l'interfaccia utente di Studio ha bisogno per il rendering. Accesso in lettura a namespace e nodi, accesso a definizioni di risorse personalizzate, accesso in lettura alle code del cluster Kueue, alle versioni delle risorse e alle classi di priorità dei carichi di lavoro e autorizzazione a verificare l'accesso dell'utente. Collegalo con ambito al cluster anziché a un namespace.

Accesso completo significa ottenere, elencare, guardare, creare, aggiornare, applicare patch ed eliminare.

Si tratta di politiche di accesso ai cluster di Amazon EKS, non di politiche gestite da IAM. I loro ARN assumono la forma seguente. arn:<partition>:eks::aws:cluster-access-policy/<name> Allegandone uno tramite Manage access si crea la voce di accesso Amazon EKS per il ruolo di esecuzione, che è ciò che applica la policy al ruolo.

Limita con un ruolo RBAC Kubernetes personalizzato

Usa un ruolo personalizzato quando desideri concedere un set personalizzato di autorizzazioni anziché quelle fornite da una policy di accesso al cluster. La configurazione seguente consente agli amministratori di concedere un accesso specifico e limitato ai Data Scientist per la visualizzazione delle attività all’interno del cluster. La configurazione concede le autorizzazioni seguenti:

  • Elenca e ottieni i pod

  • Elenca e ottieni gli eventi

  • Ottieni le Definizioni di risorse personalizzate (CRD)

Configurazione YAML

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
  1. Salva la configurazione YAML in un file denominato cluster-role.yaml.

  2. Applica la configurazione utilizzando kubectl dal sito web di Kubernetes:

    kubectl apply -f cluster-role.yaml
  3. Verifica la configurazione:

    kubectl get clusterrole pods-events-crd-cluster-role kubectl get clusterrolebinding pods-events-crd-cluster-role-binding
  4. Assegna gli utenti al gruppo pods-events-crd-cluster-level tramite il tuo gestore dell’identità digitale o IAM.