Installazione di pacchetti sul cluster Amazon EKS con Helm
Prima di creare un cluster SageMaker HyperPod e collegarlo a un cluster Amazon EKS, è necessario installare i pacchetti utilizzando Helm
Il team di assistenza SageMaker HyperPod fornisce un pacchetto di grafici Helm che crea bundle di dipendenze chiave come i plugin dispositivo/EFA, i plugin, Kubeflow Training Operator
Importante
Questa fase di installazione di Helm è obbligatoria. Se configuri il cluster Amazon EKS utilizzando Console di gestione AWS o CloudFormation, puoi saltare questa fase perché l’installazione viene gestita automaticamente durante il processo di configurazione. Se configuri il cluster direttamente con le API, utilizza il grafico Helm fornito per configurare il cluster Amazon EKS. Se il cluster Amazon EKS non viene configurato con il grafico Helm fornito, il cluster SageMaker HyperPod potrebbe non funzionare correttamente o il processo di creazione potrebbe non riuscire affatto. Il nome del namespace aws-hyperpod non può essere modificato.
-
Installa Helm
sul computer locale. -
Scarica i grafici Helm forniti da SageMaker HyperPod disponibili in
helm_chart/HyperPodHelmChartnel repository GitHub sulla CLI di SageMaker HyperPod. git clone https://github.com/aws/sagemaker-hyperpod-cli.git cd sagemaker-hyperpod-cli/helm_chart -
Aggiorna le dipendenze del grafico Helm, visualizza in anteprima le modifiche che verranno apportate al cluster Kubernetes e installa il grafico Helm.
helm dependencies update HyperPodHelmCharthelm install hyperpod-dependencies HyperPodHelmChart --namespace kube-system --dry-runhelm install hyperpod-dependencies HyperPodHelmChart --namespace kube-system
In sintesi, l’installazione Helm configura vari componenti del cluster Amazon EKS, tra cui la pianificazione e la coda dei processi (Kueue), la gestione dell’archiviazione, l’integrazione di MLflow e Kubeflow. Inoltre, i grafici installano i componenti seguenti obbligatori per l’integrazione con le funzionalità di resilienza del cluster SageMaker HyperPod.
-
Agente di monitoraggio dell’integrità: installa l’agente di monitoraggio dell’integrità fornito da SageMaker HyperPod. Questo strumento è necessario per il monitoraggio del cluster HyperPod. Gli agenti di monitoraggio dell’integrità sono forniti come immagini Docker secondo quanto descritto di seguito. Nei grafici Helm, l’immagine è preimpostata nel file
values.yamlfornito. L’agente supporta istanze basate su GPU e istanze basate su Trainium Accelerator (trn1,trn1n,inf2). Viene installato nel namespaceaws-hyperpod.590183648699.dkr.ecr.us-west-2.amazonaws.com/hyperpod-health-monitoring-agent:1.0.230.0_1.0.19.0 -
Controllo dell’integrità approfondito: imposta un
ClusterRole, un ServiceAccount (deep-health-check-service-account) nel namespaceaws-hyperpode unClusterRoleBindingper abilitare la funzionalità di controllo dell’integrità approfondito di SageMaker HyperPod. Per ulteriori informazioni sul file RBAC Kubernetes per il controllo dell’integrità approfondito, consulta il file di configurazionedeep-health-check-rbac.yamlnel repository GitHub sulla CLI di SageMaker HyperPod. -
job-auto-restart: configura unClusterRole, un ServiceAccount (job-auto-restart) nel namespaceaws-hyperpode unClusterRoleBindingper abilitare la funzionalità di riavvio automatico per i job di addestramento PyTorch in SageMaker HyperPod. Per ulteriori informazioni sul file RBAC di Kubernetes perjob-auto-restart, consulta il file di configurazionejob-auto-restart-rbac.yamlnel repository GitHub sulla CLI di SageMaker HyperPod. -
Operatore MPI Kubeflow: l’operatore MPI
è un operatore Kubernetes che utilizza l’interfaccia per il passaggio dei messaggi (MPI) sui cluster Kubernetes per semplificare l’esecuzione di carichi di lavoro distribuiti di machine learning (ML) e di calcolo ad alte prestazioni (HPC). Installa l’operatore MPI v0.5. Viene installato nel namespace mpi-operator. -
nvidia-device-plugin: plugin per dispositivi Kubernetes che consente di esporre automaticamente le GPU NVIDIA da utilizzare con i container del cluster Amazon EKS. Consente a Kubernetes di allocare e fornire l’accesso alle GPU richieste per quel container. Richiesto quando si utilizza un tipo di istanza con GPU. -
neuron-device-plugin: plugin per dispositivi Kubernetes che consente di esporre automaticamente i chip AWS Inferentia da utilizzare con i container del cluster Amazon EKS. Consente a Kubernetes di accedere e utilizzare i chip AWS Inferentia sui nodi del cluster. Richiesto quando si utilizza un tipo di istanza Neuron. -
aws-efa-k8s-device-plugin: plugin per dispositivi Kubernetes che consente l’utilizzo di AWS Elastic Fabric Adapter (EFA) sui cluster Amazon EKS. EFA è un dispositivo di rete che fornisce comunicazioni a bassa latenza e ad alto throughput tra le istanze di un cluster. Richiesto quando si utilizza un tipo di istanza supportato da EFA.
Per ulteriori informazioni sulla procedura di installazione con i grafici Helm forniti, consulta il file README nel repository GitHub sulla CLI di SageMaker HyperPod