Crea nodi con Amazon Linux ottimizzato AMIs - Amazon EKS

Aiutaci a migliorare questa pagina

Vuoi contribuire a questa guida per l'utente? Scorri fino alla fine di questa pagina e seleziona Modifica questa pagina su GitHub. I tuoi contributi contribuiranno a rendere la nostra guida utente migliore per tutti.

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à.

Crea nodi con Amazon Linux ottimizzato AMIs

Amazon Linux EKS ottimizzato per Amazon AMI è basato su Amazon Linux 2 (AL2) e Amazon Linux 2023 (AL2023). È configurato per fungere da immagine di base per EKS i nodi Amazon. AMIè configurato per funzionare con Amazon EKS e include i seguenti componenti:

  • kubelet

  • AWS IAMAutenticatore

  • Docker (EKSversione Amazon 1.23 e precedenti)

  • containerd

Nota
  • Puoi tenere traccia degli eventi relativi alla sicurezza o alla privacy AL2 presso il centro di sicurezza di Amazon Linux o abbonarti al RSSfeed associato. Gli eventi di sicurezza e privacy includono una panoramica del problema, quali sono i pacchetti interessati e come aggiornare le istanze per risolvere il problema.

  • Prima di implementare un sistema accelerato o Arm AMI, rivedi le informazioni in Amazon Linux accelerato EKS ottimizzato per Amazon AMIs and. EKSOttimizzato per Amazon Arm Amazon Linux AMIs

  • In Kubernetes versione1.23, puoi usare un flag bootstrap opzionale per testare la migrazione da Docker acontainerd. Per ulteriori informazioni, consulta Prova la migrazione ad Amazon Linux 2 da Docker a containerd.

  • A partire da Kubernetes versione1.25, non sarai più in grado di utilizzare EC2 P2 istanze Amazon con Amazon Linux accelerato e EKS ottimizzato pronto AMIs all'uso. Questi per AMIs Kubernetes le versioni 1.25 o successive supporteranno driver di NVIDIA 525 serie o successivi, che sono incompatibili con le P2 istanze. Tuttavia, i driver NVIDIA 525 della serie o delle versioni successive sono compatibili con le P3 P5 istanze,, and, quindi è possibile utilizzarle con P4 AMIs Kubernetes versione 1.25 o successiva. Prima di eseguire l'aggiornamento alla versione EKS dei cluster Amazon1.25, esegui la migrazione di tutte le istanze verso P3 e P2 le istanze. P4 P5 È inoltre necessario aggiornare in modo proattivo le applicazioni per funzionare con la serie NVIDIA 525 o successive. Abbiamo intenzione di effettuare il backport dei driver della serie più recente o successiva su NVIDIA 525 Kubernetes versioni 1.23 e alla 1.24 fine di gennaio 2024.

  • Tutti i gruppi di nodi gestiti appena creati nei cluster nella versione 1.30 o successiva utilizzeranno automaticamente AL2 023 come sistema operativo del nodo. In precedenza, per impostazione predefinita, i nuovi gruppi di nodi erano impostati su. AL2 È possibile continuare a utilizzarlo AL2 scegliendolo come AMI tipo durante la creazione di un nuovo gruppo di nodi.

  • Support for AL2 terminerà il 30 giugno 2025. Per ulteriori informazioni, consulta Amazon Linux 2 FAQs.

Amazon Linux accelerato EKS ottimizzato per Amazon AMIs

Nota

Amazon EKS accelerato AMIs basato su AL2 023 sarà disponibile in un secondo momento. Se disponi di carichi di lavoro accelerati, dovresti continuare a utilizzare l'accelerato o AL2 AMI Bottlerocket.

Amazon Linux accelerato EKS ottimizzato per Amazon AMI è basato sullo standard Amazon Linux EKS AMI ottimizzato per Amazon. È configurato per fungere da immagine opzionale per EKS i nodi Amazon per supportare carichi di lavoro GPU basati su Inferentia e Trainium.

Oltre alla AMI configurazione standard EKS ottimizzata per Amazon, l'accelerated AMI include quanto segue:

  • NVIDIA autisti

  • nvidia-container-runtime

  • AWS Neuron driver

Per un elenco dei componenti più recenti inclusi nell'acceleratoAMI, consulta le amazon-eks-ami versioni su GitHub.

Nota
  • L'accelerato EKS ottimizzato da Amazon supporta AMI GPU solo e Inferentia tipi di istanze basati. Assicurati di specificare questi tipi di istanza nel tuo AWS CloudFormation modello di nodo. Utilizzando Amazon EKS Optimized AcceleratedAMI, accetti il Contratto NVIDIA di licenza per l'utente finale del cloud (EULA).

  • L'Amazon EKS Optimized Accelerated AMI era precedentemente denominato Amazon EKS Optimized AMI with GPU Support.

  • Le versioni precedenti di Amazon EKS Optimized Accelerated AMI installavano il nvidia-docker repository. Il repository non è più incluso nella EKS AMI versione Amazon v20200529 e successive.

Per abilitare i carichi di AWS lavoro basati su Neuron (acceleratore ML)

Per dettagli sui carichi di lavoro di addestramento e inferenza utilizzando Neuron in AmazonEKS, consulta i seguenti riferimenti:

Per abilitare carichi di lavoro GPU basati

La procedura seguente descrive come eseguire un carico di lavoro su un'istanza GPU basata con Amazon EKS optimized AMI accelerated.

  1. Dopo che i GPU nodi si sono uniti al cluster, devi applicare il plug-in del NVIDIA dispositivo per Kubernetescome DaemonSet sul tuo cluster. Sostituiscilo vX.X.X con la s-device-plugin versione NVIDIA/k8 desiderata prima di eseguire il seguente comando.

    kubectl apply -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/vX.X.X/deployments/static/nvidia-device-plugin.yml
  2. Puoi verificare che i tuoi nodi siano allocabili GPUs con il seguente comando.

    kubectl get nodes "-o=custom-columns=NAME:.metadata.name,GPU:.status.allocatable.nvidia\.com/gpu"
Per distribuire un Pod per verificare che i GPU nodi siano configurati correttamente
  1. Crea un file denominato nvidia-smi.yaml con i seguenti contenuti. Sostituisci tag con il tag desiderato per nvidia/cuda. Questo manifesto avvia un NVIDIA CUDAcontenitore che funziona nvidia-smi su un nodo.

    apiVersion: v1 kind: Pod metadata: name: nvidia-smi spec: restartPolicy: OnFailure containers: - name: nvidia-smi image: nvidia/cuda:tag args: - "nvidia-smi" resources: limits: nvidia.com/gpu: 1
  2. Applicare il file manifesto con il comando seguente.

    kubectl apply -f nvidia-smi.yaml
  3. Dopo il Pod ha terminato l'esecuzione, visualizzane i log con il seguente comando.

    kubectl logs nvidia-smi

    Di seguito viene riportato un output di esempio:

    Mon Aug 6 20:23:31 20XX +-----------------------------------------------------------------------------+ | NVIDIA-SMI XXX.XX Driver Version: XXX.XX | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 Tesla V100-SXM2... On | 00000000:00:1C.0 Off | 0 | | N/A 46C P0 47W / 300W | 0MiB / 16160MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+

EKSOttimizzato per Amazon Arm Amazon Linux AMIs

Le istanze ARM offrono notevoli risparmi sui costi in termini di scalabilità orizzontale e Armapplicazioni basate su server Web, microservizi containerizzati, flotte di memorizzazione nella cache e archivi di dati distribuiti. Quando si aggiunge Arm nodi del cluster, esamina le seguenti considerazioni.

Considerazioni
  • Se il cluster è stato implementato prima del 17 agosto 2020, è necessario eseguire un aggiornamento una tantum dei manifesti critici dei componenti aggiuntivi del cluster. Questo è così Kubernetes può estrarre l'immagine corretta per ogni architettura hardware in uso nel cluster. Per ulteriori informazioni sull'aggiornamento dei componenti aggiuntivi del cluster, consultare Aggiorna il Kubernetes versione per il tuo EKS cluster Amazon. Se hai distribuito il cluster a partire dal 17 agosto 2020, allora CoreDNS, kube-proxy e Amazon VPC CNI plugin for Kubernetes i componenti aggiuntivi sono già compatibili con più architetture.

  • Applicazioni distribuite su Arm i nodi devono essere compilati per Arm.

  • Se hai DaemonSets che sono distribuiti in un cluster esistente oppure desideri distribuirli in un nuovo cluster che desideri distribuire anche tu Arm inserisci i nodi, quindi verifica che DaemonSet può essere eseguito su tutte le architetture hardware del cluster.

  • Puoi correre Arm gruppi di nodi e gruppi di nodi x86 nello stesso cluster. In tal caso, prendi in considerazione la possibilità di distribuire immagini di container multiarchitettura in un repository di contenitori come Amazon Elastic Container Registry e quindi di aggiungere selettori di nodi ai tuoi manifesti in modo che Kubernetes sa cos'è l'architettura hardware Pod può essere distribuito su. Per ulteriori informazioni, consulta Pushing a multi-architecture image nella Amazon ECR User Guide e il post di blog Introducing multi-architecture container images for Amazon ECR.

Ulteriori informazioni

Per ulteriori informazioni sull'uso di Amazon Linux EKS ottimizzato per AmazonAMIs, consulta le seguenti sezioni: