Gestione dei dispositivi hardware su Amazon EKS - Amazon EKS

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 ComputeDomain risorse 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/neuroncore risorse estese. aws.amazon.com/neuron Rileva 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/gpu estese 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 (,). ResourceClaim ResourceClaimTemplate DeviceClass resource.limits resource.requests La 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.

Argomenti