Nozioni di base sul supporto Amazon EKS in SageMaker HyperPod - Amazon SageMaker AI

Nozioni di base sul supporto Amazon EKS in SageMaker HyperPod

Oltre ai Prerequisiti per l’utilizzo di SageMaker HyperPod generali per SageMaker HyperPod, prendi in considerazione anche i requisiti e le considerazioni seguenti per orchestrare i cluster SageMaker HyperPod utilizzando Amazon EKS.

Importante

Puoi configurare le risorse per la creazione di cluster SageMaker HyperPod utilizzando la Console di gestione AWS e CloudFormation. Per ulteriori informazioni, consultare Creazione di un cluster SageMaker HyperPod con orchestrazione Amazon EKS e Creazione di cluster SageMaker HyperPod con modelli CloudFormation.

Requisiti

Nota

Prima di creare un cluster HyperPod, è necessario un cluster Amazon EKS in esecuzione configurato con VPC e installato con Helm.

Durante il provisioning del cluster Amazon EKS, considera quanto segue:

  1. Versioni di Kubernetes supportate

    • SageMaker HyperPod supporta le versioni 1.28, 1.29, 1.30, 1.31 e 1.32 di Kubernetes.

  2. Modalità di autenticazione del cluster Amazon EKS

    • Le modalità di autenticazione di un cluster Amazon EKS supportate da SageMaker HyperPod sono API e API_AND_CONFIG_MAP.

  3. Reti

    • SageMaker HyperPod richiede il plugin CNI (Container Network Interface) di Amazon VPC versione 1.18.3 o successiva.

      Nota

      Il plugin CNI di AWS VPC per Kubernetes è l’unico CNI supportato da SageMaker HyperPod.

    • Il VPC deve avere una sottorete di tipo privato per i cluster HyperPod.

  4. Ruoli IAM

  5. Componenti aggiuntivi del cluster Amazon EKS

    • Puoi continuare a utilizzare i vari componenti aggiuntivi forniti da Amazon EKS come Kube-proxy, CoreDNS, il plugin Amazon VPC Container Network Interface (CNI), Amazon EKS Pod Identity, l’agente GuardDuty, il driver Amazon FSx Container Storage Interface (CSI), il driver CSI Mountpoint per Amazon S3, AWS Distro per OpenTelemetry e l’agente di osservabilità CloudWatch.

Considerazioni sulla configurazione dei cluster SageMaker HyperPod con Amazon EKS

  • Devi utilizzare ruoli IAM distinti a seconda del tipo di nodi. Per i nodi HyperPod, utilizza un ruolo basato su Ruolo IAM per SageMaker HyperPod. Per i nodi Amazon EKS, consulta il ruolo IAM del nodo Amazon EKS.

  • Puoi allocare e montare volumi Amazon EBS aggiuntivi sui nodi SageMaker HyperPod utilizzando due approcci: utilizza InstanceStorageConfigs per il provisioning dei volumi a livello di cluster (disponibile durante la creazione o l’aggiornamento di gruppi di istanze) oppure utilizza il driver Container Storage Interface (CSI) per Amazon Elastic Block Store (Amazon EBS) per la gestione dinamica dei volumi a livello di pod. Con InstanceStorageConfigs, imposta il percorso locale su /opt/sagemaker per montare correttamente i volumi sui pod Amazon EKS. Per informazioni su come implementare il controller CSI di Amazon EBS sui nodi HyperPod, consulta Utilizzo del driver CSI di Amazon EBS su cluster SageMaker HyperPod EKS.

  • Se utilizzi etichette di tipo istanza per definire i vincoli di pianificazione, assicurati di utilizzare i tipi di istanze di ML SageMaker AI con il prefisso ml. Ad esempio, per le istanze P5, utilizza ml.p5.48xlarge invece di p5.48xlarge.

Considerazioni sulla configurazione della rete per i cluster SageMaker HyperPod con Amazon EKS

  • Ogni istanza del cluster HyperPod supporta un’interfaccia di rete elastica (ENI). Per il numero massimo di pod per tipo di istanza, consulta la tabella seguente.

    Tipo di istanza Numero massimo di pod
    ml.p4d.24xlarge 49
    ml.p4de.24xlarge 49
    ml.p5.48xlarge 49
    ml.trn1.32xlarge 49
    ml.trn1n.32xlarge 49
    ml.g5.xlarge 14
    ml.g5.2xlarge 14
    ml.g5.4xlarge 29
    ml.g5.8xlarge 29
    ml.g5.12xlarge 49
    ml.g5.16xlarge 29
    ml.g5.24xlarge 49
    ml.g5.48xlarge 49
    ml.c5.large 9
    ml.c5.xlarge 14
    ml.c5.2xlarge 14
    ml.c5.4xlarge 29
    ml.c5.9xlarge 29
    ml.c5.12xlarge 29
    ml.c5.18xlarge 49
    ml.c5.24xlarge 49
    ml.c5n.large 9
    ml.c5n.2xlarge 14
    ml.c5n.4xlarge 29
    ml.c5n.9xlarge 29
    ml.c5n.18xlarge 49
    ml.m5.large 9
    ml.m5.xlarge 14
    ml.m5.2xlarge 14
    ml.m5.4xlarge 29
    ml.m5.8xlarge 29
    ml.m5.12xlarge 29
    ml.m5.16xlarge 49
    ml.m5.24xlarge 49
    ml.t3.medium 5
    ml.t3.large 11
    ml.t3.xlarge 14
    ml.t3.2xlarge 14
    ml.g6.xlarge 14
    ml.g6.2xlarge 14
    ml.g6.4xlarge 29
    ml.g6.8xlarge 29
    ml.g6.12xlarge 29
    ml.g6.16xlarge 49
    ml.g6.24xlarge 49
    ml.g6.48xlarge 49
    ml.gr6.4xlarge 29
    ml.gr6.8xlarge 29
    ml.g6e.xlarge 14
    ml.g6e.2xlarge 14
    ml.g6e.4xlarge 29
    ml.g6e.8xlarge 29
    ml.g6e.12xlarge 29
    ml.g6e.16xlarge 49
    ml.g6e.24xlarge 49
    ml.g6e.48xlarge 49
    ml.p5e.48xlarge 49
  • Per impostazione predefinita, solo i pod con hostNetwork = true hanno accesso al servizio di metadati di istanza (IMDS) di Amazon EC2. Utilizza Amazon EKS Pod Identity o i ruoli IAM per gli account del servizio (IRSA) per gestire l’accesso alle credenziali AWS per i pod.

  • I cluster HyperPod orchestrati da EKS supportano due modalità di indirizzamento IP, che consentono la configurazione con IPv4 o IPv6 per i cluster IPv6 di Amazon EKS negli ambienti del VPC e della sottorete abilitati per IPv6. Per ulteriori informazioni, consulta Configurazione di SageMaker HyperPod con un Amazon VPC personalizzato.

Considerazioni sull’utilizzo delle funzionalità di resilienza del cluster HyperPod

  • La sostituzione automatica dei nodi non è supportata per le istanze CPU.

  • Per funzionare, il ripristino automatico del nodo richiede che sia installato l’agente di monitoraggio dell’integrità HyperPod. L’agente può essere installato con Helm. Per ulteriori informazioni, consulta Installazione di pacchetti sul cluster Amazon EKS con Helm.

  • L’agente per il controllo dell’integrità approfondito e il monitoraggio dell’integrità HyperPod supporta le istanze GPU e Trn.

  • SageMaker AI applica il seguente taint ai nodi quando vengono sottoposti a controlli dell’integrità approfonditi:

    effect: NoSchedule key: sagemaker.amazonaws.com/node-health-status value: Unschedulable
    Nota

    Non puoi aggiungere taint personalizzati ai nodi nei gruppi di istanze con DeepHealthChecks attivato.

Una volta che il cluster Amazon EKS è in esecuzione, configuralo utilizzando il gestore dei pacchetti Helm come indicato in Installazione di pacchetti sul cluster Amazon EKS con Helm prima di creare il cluster HyperPod.