Contribuisci a migliorare questa pagina
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à.
Per contribuire a questa guida per l'utente, scegli il GitHub link Modifica questa pagina nel riquadro destro di ogni pagina.
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à.
Gestione dei dispositivi hardware su Amazon EKS
Amazon EKS supporta due meccanismi Kubernetes per la gestione di dispositivi hardware specializzati nei cluster EKS: Dynamic Resource Allocation (DRA) e plugin per dispositivi. Entrambi i meccanismi consentono ai carichi di lavoro di accedere ad acceleratori hardware come chip NVIDIA GPUs e AWS Trainium e dispositivi di rete ad alte prestazioni come Elastic Fabric Adapter (EFA). Si consiglia di utilizzare i driver DRA per le nuove implementazioni con le versioni 1.34 e successive di Kubernetes, poiché DRA offre una selezione più ampia dei dispositivi, una pianificazione basata sulla topologia e funzionalità di condivisione dei dispositivi che non sono possibili con i plug-in dei dispositivi.
Per informazioni generali su queste due funzionalità di Kubernetes, consulta la documentazione di Kubernetes per l'allocazione dinamica delle risorse e i plug-in dei dispositivi.
Dynamic Resource Allocation e plugin per dispositivi
I plugin per dispositivi Kubernetes sono stati il meccanismo principale per esporre hardware specializzato ai carichi di lavoro Kubernetes. I plugin per dispositivi pubblicizzano i dispositivi come risorse estese (ad esempio, nvidia.com/gpu oaws.amazon.com/neuroncore) che richiedi nelle richieste e nei limiti delle risorse del contenitore. Sebbene i plug-in dei dispositivi siano ampiamente supportati e utilizzati, presentano delle limitazioni:
-
I dispositivi vengono richiesti come conteggi interi opachi senza filtri basati sugli attributi.
-
Nessun supporto per la condivisione dei dispositivi tra contenitori o Pod.
-
Nessuna allocazione espressiva basata sulla topologia tra i tipi di dispositivi.
-
Le estensioni di pianificazione personalizzate sono spesso necessarie per un posizionamento intelligente.
Dynamic Resource Allocation (DRA) è una funzionalità di Kubernetes resa generalmente disponibile nella versione 1.34 di Kubernetes che risolve queste limitazioni. Con DRA, i driver di dispositivo pubblicano ricchi attributi di dispositivo nello scheduler Kubernetes tramite oggetti. ResourceSlice I dispositivi richiedono l'utilizzo di oggetti ResourceClaim e ResourceClaimTemplate oggetti che fanno riferimento a categorie. DeviceClass
DRA consente:
-
Selezione dei dispositivi basata sugli attributi utilizzando le espressioni del Common Expression Language (CEL)
. -
Allocazione basata sulla topologia che garantisce che i dispositivi siano collocati nello stesso switch o dominio NUMA. PCIe
-
Condivisione dei dispositivi tra più contenitori o Pod tramite riferimenti condivisi.
ResourceClaim -
Pianificazione basata su vincoli che allinea diversi tipi di dispositivi
Driver DRA per Amazon EKS
I seguenti driver DRA sono comunemente usati per gestire dispositivi hardware specializzati nei cluster Amazon EKS.
- Driver Neuron DRA
-
Il driver Neuron DRA gestisce l'allocazione dei dispositivi AWS Trainium e AWS Inferentia2 con pianificazione basata sulla topologia, allocazione di sottoinsiemi di dispositivi connessi e configurazione Logical (LNC), senza richiedere estensioni di pianificazione personalizzate. NeuronCore
- Driver NVIDIA DRA
-
Il driver NVIDIA DRA GPUs consente l'allocazione flessibile e la riconfigurazione dinamica di NVIDIA GPUs, incluso il supporto per
le ComputeDomainrisorse per i carichi di lavoro Multi-Node NVLink (MNNVL) su istanze EC2 Grace-Blackwell. Per ulteriori informazioni sull'ComputeDomainsutilizzo con le istanze EC2 Grace-Blackwell, consulta. Usa P6e- con GB200 UltraServers Amazon EKS
Plugin di dispositivi per Amazon EKS
I seguenti plug-in per dispositivi sono comunemente usati per gestire dispositivi hardware specializzati nei cluster Amazon EKS.
- Plugin per dispositivi EFA
-
Il plug-in EFA per dispositivi rileva tutti i dispositivi EFA disponibili su ciascun nodo e pubblicizza i dispositivi EFA come risorse estese.
vpc.amazonaws.com/efa - Plugin per dispositivi Neuron
-
Il plug-in del dispositivo Neuron
espone l'hardware Neuron come aws.amazon.com/neuroncorerisorse estese.aws.amazon.com/neuronRileva i dispositivi Neuron disponibili su ciascun nodo, li pubblicizza come risorse allocabili e ne gestisce il ciclo di vita. - Plugin per dispositivi NVIDIA
-
Il plug-in per dispositivi NVIDIA
pubblicizza NVIDIA GPUs come risorse nvidia.com/gpuestese e monitora lo stato di. GPUs
Considerazioni
Prima di utilizzare i driver DRA su Amazon EKS, esamina le seguenti considerazioni:
-
DRA è disponibile su Amazon EKS con Kubernetes versione 1.33 e successive, ma è consigliato per le versioni 1.34 e successive di Kubernetes a causa di un problema di Kubernetes upstream.
Il piano di controllo e i nodi del cluster devono eseguire una versione di Kubernetes che supporti DRA. -
DRA non è attualmente compatibile con l'elaborazione con provisioning Karpenter o EKS Auto Mode. È necessario utilizzare gruppi di nodi gestiti EKS o nodi autogestiti con driver DRA.
-
I driver DRA e i plug-in di dispositivo per lo stesso tipo di dispositivo non devono essere eseguiti contemporaneamente sullo stesso nodo. Disinstallate il plug-in del dispositivo prima di installare il driver DRA corrispondente o distribuitelo su nodi separati. Vedi upstream Kubernetes KEP-5004 per aggiornamenti sulla compatibilità del driver
DRA e dei plug-in del dispositivo. -
DRA utilizza risorse API Kubernetes diverse (,,) rispetto ai plug-in dei dispositivi (,).
ResourceClaimResourceClaimTemplateDeviceClassresource.limitsresource.requestsLa migrazione dai plug-in dei dispositivi a DRA richiede l'aggiornamento delle specifiche del carico di lavoro. -
I plug-in dei dispositivi rimangono completamente supportati per tutte le versioni di Kubernetes. Se il tuo cluster esegue una versione di Kubernetes precedente alla 1.34, se usi Karpenter o EKS Auto Mode o se usi Bottlerocket, continua a utilizzare i plug-in del dispositivo.