Eseguire componenti aggiuntivi critici su istanze dedicate - Amazon EKS

Contribuisci a migliorare questa pagina

Per contribuire a questa guida per l’utente, seleziona il link Edit this page on GitHub che si trova nel riquadro destro di ogni pagina.

Eseguire componenti aggiuntivi critici su istanze dedicate

Questo argomento illustra come implementare un carico di lavoro con una tolleranza CriticalAddonsOnly in modo che la modalità automatica EK lo pianifichi nel pool di nodi system.

Il pool di nodi integrato system della modalità automatica EKS è progettato per eseguire componenti aggiuntivi critici su istanze dedicate. Questa segregazione garantisce che i componenti essenziali dispongano di risorse dedicate e siano isolati dai carichi di lavoro generali, migliorando la stabilità e le prestazioni complessive del cluster.

Questa guida illustra come implementare componenti aggiuntivi nel pool di nodi system utilizzando la tolleranza CriticalAddonsOnly e i selettori dei nodi adeguati. Seguendo questa procedura, è possibile garantire che le applicazioni critiche siano pianificate sui nodi system dedicati, sfruttando i vantaggi dell’isolamento e dell’allocazione delle risorse offerti dalla struttura specializzata dei pool di nodi della modalità automatica EKS.

La modalità automatica EKS dispone di due pool di nodi integrati: general-purpose e system. Per ulteriori informazioni, consulta Abilitazione o disabilitazione i NodePools integrati.

Lo scopo del pool di nodi system è segregare i componenti aggiuntivi critici su nodi diversi. I nodi con provisioning del pool di nodi system hanno un taint Kubernetes CriticalAddonsOnly. Kubernetes pianificherà i pod su questi nodi solo se dispongono di una tolleranza corrispondente. Per ulteriori informazioni, consultare Taints and Tolerations nella documentazione di Kubernetes.

Prerequisiti

Procedura

Rivedere l’esempio yaml riportato di seguito. Tenere presente le configurazioni seguenti:

  • nodeSelector: questa configurazione associa il carico di lavoro al pool di nodi integrato system. Questo pool di nodi deve essere abilitato con l’API AWS. Per ulteriori informazioni, consulta Abilitazione o disabilitazione i NodePools integrati.

  • tolerations: questa tolleranza supera il taint CriticalAddonsOnly sui nodi del pool di nodi system.

apiVersion: apps/v1 kind: Deployment metadata: name: sample-app spec: replicas: 3 selector: matchLabels: app: sample-app template: metadata: labels: app: sample-app spec: nodeSelector: karpenter.sh/nodepool: system tolerations: - key: "CriticalAddonsOnly" operator: "Exists" containers: - name: app image: nginx:latest resources: requests: cpu: "500m" memory: "512Mi"

Per aggiornare un carico di lavoro affinché venga eseguito sul pool di nodi system è necessario:

  1. Aggiornare il carico di lavoro esistenti affinché aggiunga le seguenti configurazioni descritte in precedenza:

    • nodeSelector

    • tolerations

  2. Implementare il carico di lavoro aggiornato nel cluster con kubectl apply.

Una volta aggiornato, il carico di lavoro sarà eseguito su nodi dedicati.