Gestisci i dispositivi EFA 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à.

Gestisci i dispositivi EFA su Amazon EKS

Elastic Fabric Adapter (EFA) è un dispositivo di rete per istanze Amazon EC2 che consente la comunicazione tra nodi ad alte prestazioni per la formazione sull'apprendimento automatico e i carichi di lavoro HPC (High Performance Computing). Amazon EKS supporta il plug-in del dispositivo EFA per la gestione dei dispositivi EFA nei cluster EKS.

Creazione di nodi EKS con interfacce EFA

Quando si creano nodi EKS con interfacce EFA, le interfacce EFA vengono collegate durante il bootstrap dell'istanza. Se è necessario personalizzare la configurazione EFA per dispositivo o utilizzare gruppi di collocamento per le istanze EC2 abilitate per EFA, si consiglia di utilizzare i gruppi di nodi gestiti EKS o i gruppi di nodi a gestione automatica EKS. Puoi passare la configurazione per ogni interfaccia di rete con modelli di avvio.

Quando si utilizza EKS Auto Mode o Karpenter con provisioning dinamico, le istanze create per la richiesta dei Pods vpc.amazonaws.com/efa hanno tutte le interfacce configurate con il tipo di interfaccia. EFA Il provisioning statico della capacità in EKS Auto Mode e Karpenter attualmente non supporta la configurazione EFA per dispositivo. EKS Auto Mode e Karpenter attualmente non supportano i gruppi di collocamento.

Quando viene utilizzata eksctlper fornire ai nodi EKS l'efaEnabledimpostazione, tutte le interfacce sono configurate in base al tipo di interfacciaEFA, viene creato un gruppo di sicurezza specifico per EFA e il plug-in del dispositivo EFA viene installato sul cluster. Se è necessario personalizzare la configurazione EFA per dispositivo durante l'utilizzo, si consiglia di utilizzare il supporto di eksctl `eksctl per i modelli di avvio.

Utilizzo di AMIs EKS ottimizzato con EFA

La versione AL2023 accelerata ottimizzata per EKS AMIs (NVIDIA e Neuron) e tutta AMIs Bottlerocket includono i componenti a livello di host necessari per utilizzare EFA. EKS AL2023 e Bottlerocket AMIs non includono il plug-in del dispositivo EFA e il plug-in del dispositivo deve essere installato separatamente sul cluster prima di distribuire carichi di lavoro che utilizzano EFA.

Installa il plug-in del dispositivo EFA Kubernetes

Il plug-in per dispositivi EFA pubblicizza i dispositivi EFA come risorse estese. vpc.amazonaws.com/efa I dispositivi EFA vengono richiesti nelle richieste e nei limiti delle risorse del contenitore. Per una procedura dettagliata sulla configurazione di EFA con carichi di lavoro di formazione, consulta. Esecuzione dei corsi di machine learning su Amazon EKS con Elastic Fabric Adapter

Il plug-in per dispositivi EFA alloca automaticamente i dispositivi EFA topologicamente vicini agli acceleratori Neuron e alle GPU NVIDIA sull'istanza fisica EC2.

Prerequisiti

  • Un cluster Amazon EKS.

  • Nodi con tipi di istanze Amazon EC2 abilitati per EFA. Per un elenco dei tipi di istanze supportati, consulta Tipi di istanze supportati nella Guida per l'utente di Amazon EC2.

  • Nodi con componenti a livello di host installati per EFA. Questi sono inclusi se si utilizza EKS AL2023 accelerated AMIs o EKS Bottlerocket. AMIs

  • Helm è installato nell’ambiente a riga di comando, consulta le istruzioni di configurazione di Helm per ulteriori informazioni.

  • kubectlconfigurato per comunicare con il cluster, vedi Installazione o aggiornamento di kubectl per ulteriori informazioni.

Procedura

  1. Aggiungi l'archivio cartografico EKS Helm.

    helm repo add eks https://aws.github.io/eks-charts
  2. Aggiorna il tuo archivio Helm locale.

    helm repo update
  3. Installa il plug-in del dispositivo EFA.

    helm install efa eks/aws-efa-k8s-device-plugin -n kube-system
  4. Verifica che il plug-in del dispositivo EFA DaemonSet sia in esecuzione.

    kubectl get daemonset -n kube-system aws-efa-k8s-device-plugin-daemonset
    NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE aws-efa-k8s-device-plugin-daemonset 2 2 2 2 2 <none> 60s
  5. Verifica che i tuoi nodi dispongano di risorse EFA allocabili.

    kubectl get nodes "-o=custom-columns=NAME:.metadata.name,EFA:.status.allocatable.vpc\.amazonaws\.com/efa"
    NAME EFA ip-192-168-11-225.us-west-2.compute.internal 4 ip-192-168-24-96.us-west-2.compute.internal 4

Richiedi dispositivi EFA in un Pod

Per richiedere dispositivi EFA utilizzando il plug-in del dispositivo, specifica la vpc.amazonaws.com/efa risorsa nelle richieste o nei limiti delle risorse del contenitore.

apiVersion: v1 kind: Pod metadata: name: efa-workload spec: containers: - name: app ... resources: limits: vpc.amazonaws.com/efa: 4 hugepages-2Mi: ... requests: vpc.amazonaws.com/efa: 4 hugepages-2Mi: ...