Eseguire la migrazione da Karpenter alla modalità automatica di EKS utilizzando kubectl - 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à.

Eseguire la migrazione da Karpenter alla modalità automatica di EKS utilizzando kubectl

Questo argomento illustra il processo di migrazione dei carichi di lavoro da Karpenter alla modalità automatica di Amazon EKS utilizzando kubectl. La migrazione può essere eseguita gradualmente, consentendo di spostare i carichi di lavoro al proprio ritmo, mantenendo al contempo la stabilità del cluster e la disponibilità delle applicazioni durante la transizione.

L' step-by-stepapproccio descritto di seguito consente di eseguire Karpenter ed EKS Auto Mode fianco a fianco durante il periodo di migrazione. Questa strategia a doppio funzionamento aiuta a garantire una transizione fluida consentendoti di convalidare il comportamento del carico di lavoro in modalità automatica di EKS prima di disattivare completamente Karpenter. Puoi eseguire la migrazione delle applicazioni singolarmente o in gruppo, garantendo la flessibilità necessaria per soddisfare i requisiti operativi specifici e la tolleranza al rischio.

Prerequisiti

Prima di iniziare la migrazione, assicurati di avere:

Questo argomento presuppone che tu abbia familiarità con Karpenter e. NodePools Per ulteriori informazioni, consulta Karpenter Documentation.

Fase 1: abilitare modalità automatica di EKS sul cluster

Abilita la modalità automatica EKS sul tuo cluster esistente utilizzando la AWS CLI o la console di gestione. Per ulteriori informazioni, consulta Abilita modalità automatica di EKS su un cluster esistente.

Nota

Durante l’abilitazione della modalità automatica di EKS, non abilitare il nodepool general purpose in questa fase durante la transizione. Questo pool di nodi non è selettivo.

Per ulteriori informazioni, consulta Attivazione o disattivazione della funzionalità integrata NodePools.

Fase 2: Creare una modalità automatica EKS alterata NodePool

Crea una nuova modalità NodePool per EKS Auto con una macchia. Ciò garantisce che i pod esistenti non vengano programmati automaticamente sui nuovi nodi della modalità automatica di EKS. Questo pool di nodi utilizza NodeClass integrato default in modalità automatica di EKS. Per ulteriori informazioni, consulta Creazione di una classe di nodi per Amazon EKS.

Esempio di pool di nodi con taint:

apiVersion: karpenter.sh/v1 kind: NodePool metadata: name: eks-auto-mode spec: template: spec: requirements: - key: "eks.amazonaws.com/instance-category" operator: In values: ["c", "m", "r"] nodeClassRef: group: eks.amazonaws.com kind: NodeClass name: default taints: - key: "eks-auto-mode" effect: "NoSchedule"

Aggiorna i requisiti per il pool di nodi in modo tale che corrispondano alla configurazione di Karpenter da cui stai eseguendo la migrazione. Devi soddisfare almeno un requisito.

Fase 3: aggiornare i carichi di lavoro per la migrazione

Identifica e aggiorna i carichi di lavoro che desideri migrare alla modalità automatica di EKS . Aggiungi sia le tolleranze che i selettori di nodi a questi carichi di lavoro:

apiVersion: apps/v1 kind: Deployment spec: template: spec: tolerations: - key: "eks-auto-mode" effect: "NoSchedule" nodeSelector: eks.amazonaws.com/compute-type: auto

Questa modifica consente di pianificare il carico di lavoro sui nuovi nodella modalità automatica di EKS.

La modalità automatica di EKS utilizza etichette diverse rispetto a Karpenter. Le etichette relative alle istanze EC2 gestite iniziano con. eks.amazonaws.com Per ulteriori informazioni, consulta Crea un pool di nodi per EKS Auto Mode.

Fase 4: migrare gradualmente i carichi di lavoro

Ripeti la fase 3 per ogni carico di lavoro di cui desideri eseguire la migrazione. Ciò consente di spostare i carichi di lavoro individualmente o in gruppo, in base ai requisiti e alla tolleranza al rischio.

Passaggio 5: rimuovere il Karpenter originale NodePool

Una volta migrati tutti i carichi di lavoro, puoi rimuovere il Karpenter originale: NodePool

kubectl delete nodepool <original-nodepool-name>

Passaggio 6: rimuovere la contaminazione dalla modalità automatica EKS (opzionale) NodePool

Se desideri che la modalità automatica EKS diventi l'impostazione predefinita per i nuovi carichi di lavoro, puoi rimuovere la contaminazione dalla modalità automatica EKS: NodePool

apiVersion: karpenter.sh/v1 kind: NodePool metadata: name: eks-auto-mode spec: template: spec: nodeClassRef: group: eks.amazonaws.com kind: NodeClass name: default # Remove the taints section

Fase 7: rimuovere i selettori di nodi dai carichi di lavoro (facoltativo)

Se hai rimosso la macchia dalla modalità automatica EKS NodePool, puoi facoltativamente rimuovere i selettori dei nodi dai tuoi carichi di lavoro, poiché la modalità automatica EKS è ora l'impostazione predefinita:

apiVersion: apps/v1 kind: Deployment spec: template: spec: # Remove the nodeSelector section tolerations: - key: "eks-auto-mode" effect: "NoSchedule"

Fase 8: disinstallare Karpenter dal cluster

Le fasi per rimuovere Karpenter dipendono da come l’hai installato. Per ulteriori informazioni, consulta Karpenter install instructions.