Implementazione di un esempio di carico di lavoro di decompressione in un cluster Amazon EKS Auto Mode - 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.

Implementazione di un esempio di carico di lavoro di decompressione in un cluster Amazon EKS Auto Mode

In questo tutorial imparerai come implementare un carico di lavoro di esempio su un cluster EKS Auto Mode e osservare come esegue automaticamente il provisioning delle risorse di calcolo necessarie. Userai i comandi kubectl per osservare il comportamento del cluster e vedere in prima persona come Auto Mode semplifica le operazioni Kubernetes su AWS. Al termine di questo tutorial, capirai come EKS Auto Mode risponde alle distribuzioni dei carichi di lavoro gestendo automaticamente le risorse di calcolo sottostanti, senza richiedere la configurazione manuale dei gruppi di nodi.

Prerequisiti

  • Un cluster Amazon EKS Auto Mode. Prendi nota del nome e della regione AWS del cluster.

  • Un principale IAM, come ad esempio un utente o un ruolo, con autorizzazioni sufficienti per gestire le risorse di rete, di elaborazione ed EKS.

  • aws CLI installata e configurata con un’identità IAM.

  • kubectl CLI installata e connessa al cluster.

Passaggio 1: rivedere le risorse di elaborazione esistenti (facoltativo)

Innanzitutto, usa kubectl per elencare i pool di nodi sul cluster.

kubectl get nodepools

Output di esempio:

general-purpose

In questo tutorial, implementeremo un carico di lavoro configurato per usare il pool di nodi general-purpose. Questo pool di nodi è integrato in EKS Auto Mode e include impostazioni predefinite ragionevoli per carichi di lavoro generici, come microservizi e applicazioni web. Puoi creare un pool di nodi personalizzato. Per ulteriori informazioni, consulta Crea un pool di nodi per EKS Auto Mode.

Poi, utilizza kubectl per elencare i nodi collegati al tuo cluster.

kubectl get nodes

Se hai appena creato un cluster di EKS Auto Mode, non avrai nodi.

In questo tutorial implementerai un di carico di lavoro di esempio. Se non ci sono nodi o il carico di lavoro non può essere gestito dai nodi esistenti, EKS Auto Mode provvederà a fornire un nuovo nodo.

Passaggio 2: implementare un’applicazione di esempio sul cluster

Esamina la seguente implementazione di Kubernetes e salvala come inflate.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: inflate spec: replicas: 1 selector: matchLabels: app: inflate template: metadata: labels: app: inflate spec: terminationGracePeriodSeconds: 0 nodeSelector: eks.amazonaws.com/compute-type: auto securityContext: runAsUser: 1000 runAsGroup: 3000 fsGroup: 2000 containers: - name: inflate image: public.ecr.aws/eks-distro/kubernetes/pause:3.7 resources: requests: cpu: 1 securityContext: allowPrivilegeEscalation: false

Il selettore eks.amazonaws.com/compute-type: auto richiede che il carico di lavoro sia implementato su un nodo di Amazon EKS Auto Mode.

Applica l’implementazione al cluster.

kubectl apply -f inflate.yaml

Passaggio 3: vedere gli eventi di Kubernetes

Utilizza il seguente comando per vedere gli eventi di Kubernetes, inclusa la creazione di un nuovo nodo. Usa ctrl+c per interrompere la visione degli eventi.

kubectl get events -w --sort-by '.lastTimestamp'

Utilizza kubectl per elencare nuovamente i nodi collegati al tuo cluster. Prendi nota del nodo appena creato.

kubectl get nodes

Passaggio 4: visualizzare nodi e istanze nella console AWS

È possibile visualizzare i nodi in EKS Auto Mode nella console EKS e le istanze EC2 associate nella console EC2.

Le istanze EC2 implementate da EKS Auto Mode sono limitate. Non puoi eseguire comandi arbitrari sui nodi EKS Auto Mode.

Passaggio 5: eliminazione dell’implementazione

Per eliminare un’implementazione, usa kubectl

kubectl delete -f inflate.yaml

Se non ci sono altri carichi di lavoro implementati nel cluster, il nodo creato da EKS Auto Mode sarà vuoto.

Nella configurazione predefinita, EKS Auto Mode rileva i nodi che rimangono vuoti per trenta secondi e li termina.

Usa kubectl o la console EC2 per confermare che l’istanza associata è stata eliminata.