Crea un gruppo di nodi gestito con Capacity Blocks for ML - 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 un gruppo di nodi gestito con Capacity Blocks for ML

I Capacity Blocks per l'apprendimento automatico (ML) consentono di prenotare GPU istanze in date future per supportare i carichi di lavoro ML di breve durata. Per ulteriori informazioni, consulta Capacity Blocks for ML nella Amazon EC2 User Guide for Linux Instances.

Considerazioni

Importante
  • I Capacity Block sono disponibili solo per determinati tipi di EC2 istanze Amazon e Regioni AWS. Per informazioni sulla compatibilità, consulta Work with Capacity Blocks Prerequisites nella Amazon EC2 User Guide for Linux Instances.

  • Per ulteriori informazioni, consulta Use Capacity Blocks per carichi di lavoro di machine learning nella Amazon EC2 Auto Scaling User Guide.

  • I gruppi di nodi gestiti con Capacity Blocks possono essere creati solo con modelli di avvio personalizzati.

  • Quando aggiorni i gruppi di nodi gestiti con Capacity Blocks, assicurati che la dimensione desiderata del gruppo di nodi sia impostata su. 0

Crea un gruppo di nodi gestito con Amazon EC2 Capacity Blocks

Puoi utilizzare Capacity Blocks con gruppi di nodi EKS gestiti da Amazon per il provisioning e la scalabilità di nodi di lavoro GPU accelerati. Gli esempi AWS CloudFormation di modelli che seguono non coprono tutti gli aspetti necessari in un cluster di produzione. In genere, dovresti anche utilizzare uno script di bootstrap per unire il nodo al cluster e specificare l'accelerazione AmazonEKS. AMI Per ulteriori informazioni, consulta Crea un gruppo di nodi gestito per il tuo cluster.

  1. Crea un modello di lancio adatto ai tuoi carichi di lavoro e che funzioni con i gruppi di nodi EKS gestiti da Amazon. Per ulteriori informazioni, consulta Personalizza i nodi gestiti con modelli di lancio.

    Oltre ai requisiti delle procedure precedenti, assicurati che LaunchTemplateData includa quanto segue:

    • InstanceMarketOptions con MarketType impostato su "capacity-block"

    • CapacityReservationSpecification: CapacityReservationTargetcon CapacityReservationId impostato sul Capacity Block (ad esempio:cr-02168da1478b509e0)

    • InstanceTypeimpostato su un tipo di istanza che supporta Capacity Blocks (ad esempio:p5.48xlarge)

    Di seguito è riportato un estratto di un CloudFormation modello che crea un modello di lancio destinato a un Capacity Block. Per creare un gruppo di nodi AMI gestito personalizzato, puoi anche aggiungere ImageId parametri. UserData

    NodeLaunchTemplate: Type: "AWS::EC2::LaunchTemplate" Properties: LaunchTemplateData: InstanceMarketOptions: MarketType: "capacity-block" CapacityReservationSpecification: CapacityReservationTarget: CapacityReservationId: "cr-02168da1478b509e0" InstanceType: p5.48xlarge
  2. Utilizza il modello di avvio per creare un gruppo di nodi gestiti.

    Di seguito è riportato un esempio di comando create node group per Capacity Blocks. Sostituiscilo example-values con quelli applicabili al tuo cluster.

    Quando crei il gruppo di nodi gestiti Capacity Block, procedi come segue:

    • Imposta capacity-type su "CAPACITY_BLOCK". Se il tipo di capacità non è impostato su "CAPACITY_BLOCK" o manca uno degli altri valori del modello di avvio sopra richiesti, la richiesta di creazione verrà rifiutata.

    • Quando specificate subnets nella richiesta di creazione, assicuratevi di specificare solo la sottorete nella stessa zona di disponibilità della prenotazione della capacità.

    • Se specifichi un valore diverso da zero desiredSize nella richiesta di creazione, Amazon lo EKS rispetterà durante la creazione del gruppo ASG Auto Scaling (). Tuttavia, se la richiesta di creazione viene effettuata prima che la prenotazione della capacità sia attiva, ASG non sarà possibile avviare EC2 le istanze Amazon finché non diventa attiva. Di conseguenza, le attività di ASG scalabilità presenteranno errori di avvio. Ogni volta che la prenotazione diventa attiva, il lancio delle istanze avrà esito positivo e le istanze ASG verranno aumentate fino a quelle desiredSize indicate al momento della creazione.

    aws eks create-nodegroup \ --cluster-name my-cluster \ --nodegroup-name my-mng \ --node-role node-role-arn \ --region region-code \ --subnets subnet-id \ --scaling-config minSize=node-group-min-size,maxSize=node-group-max-size,desiredSize=node-group-desired-size \ --capacity-type "CAPACITY_BLOCK" \ --launch-template id="lt-id",version=1
  3. Assicurati che i nodi si uniscano dopo la scalabilità. EKSI cluster Amazon che utilizzano gruppi di nodi gestiti con Capacity Blocks non eseguono alcuna verifica che le istanze avviate si uniscano e si registrino effettivamente nel cluster.

  4. Se lo desiredSize imposti 0 al momento della creazione, hai diverse opzioni per scalare il gruppo di nodi quando la prenotazione della capacità diventa attiva:

    • Crea una politica di scalabilità pianificata in linea con ASG l'ora di inizio della prenotazione di Capacity Block. Per ulteriori informazioni, consulta Scheduled Scaling for Amazon EC2 Auto Scaling nella Amazon Auto EC2 Scaling User Guide.

    • Utilizza la EKS console Amazon o eks update-nodegroup-config per aggiornare la configurazione di scalabilità e impostare la dimensione desiderata del gruppo di nodi.

    • Usa Kubernetes Cluster Autoscaler. Per ulteriori informazioni, vedere Cluster Autoscaler on. AWS

  5. Il gruppo di nodi è ora pronto per la pianificazione di carichi di lavoro e Pods.

  6. Affinché il tuo Pods account sia completamente esaurito prima della scadenza della prenotazione, Amazon EKS utilizza una politica di scalabilità pianificata per ridurre la dimensione del gruppo di nodi. 0 Questo ridimensionamento pianificato verrà impostato con il nome intitolato. Amazon EKS Node Group Capacity Scaledown Before Reservation End Ti consigliamo di non modificare o eliminare questa azione.

    Amazon EC2 inizia a chiudere le istanze 30 minuti prima della fine della prenotazione. Di conseguenza, Amazon EKS imposterà una riduzione programmata del gruppo di nodi 40 minuti prima della fine della prenotazione, al fine di effettuare lo sfratto in modo sicuro e sicuro. Pods