Guida introduttiva ad Amazon EKS – eksctl - Amazon EKS

Guida introduttiva ad Amazon EKS – eksctl

Questa guida consente di creare tutte le risorse necessarie per iniziare a usare Amazon Elastic Kubernetes Service (Amazon EKS) con eksctl, una semplice utility a riga di comando per la creazione e la gestione di cluster di Kubernetes su Amazon EKS. Al termine di questo tutorial, sarà creato un cluster Amazon EKS in esecuzione a cui implementare applicazioni.

Le procedure descritte in questa guida consentono di creare automaticamente diverse risorse che è necessario creare manualmente quando si crea il cluster utilizzando il comando AWS Management Console. Se si preferisce creare manualmente la maggior parte delle risorse e capire meglio come interagiscono tra loro, utilizzare la AWS Management Console per creare i cluster e calcolare. Per ulteriori informazioni, consulta . Guida introduttiva ad Amazon EKS – AWS Management Console e AWS CLI.

Prerequisiti

Prima di iniziare questo tutorial, è necessario installare e configurare i seguenti strumenti e risorse necessarie per creare e gestire un cluster Amazon EKS.

  • kubectl – Uno strumento a riga di comando per usare i cluster di Kubernetes. Questa guida richiede l'utilizzo della versione 1.21 o successiva. Per ulteriori informazioni, consulta . Installazione di kubectl.

  • eksctl – Uno strumento a riga di comando per usare cluster EKS che automatizza molte attività individuali. Questa guida richiede l'utilizzo della versione 0.84.0 o successiva. Per ulteriori informazioni, consulta . Installazione di eksctl.

  • Autorizzazioni IAM richieste – il principale di sicurezza IAM che si sta utilizzando deve disporre delle autorizzazioni per lavorare con i ruoli IAM di Amazon EKS e i ruoli collegati al servizio, AWS CloudFormation, e un VPC con le risorse correlate. Per ulteriori informazioni, consultare Operazioni, risorse e chiavi di condizione per Amazon Elastic Container Service for Kubernetes e Utilizzo di ruoli collegati ai servizi nella Guida per l'utente di IAM. È necessario che tutti i passaggi di questa guida siano completati dallo stesso utente.

Fase 1: Creazione di cluster e nodi Amazon EKS

Importante

Per iniziare nel modo più semplice e rapido possibile, in questo argomento sono inclusi i passaggi per creare un cluster e nodi con impostazioni predefinite. Prima di creare un cluster e i nodi da utilizzare in produzione, è consigliabile acquisire familiarità con tutte le impostazioni e implementare il cluster e nodi con le impostazioni che soddisfano i requisiti. Per ulteriori informazioni, consulta Creazione di un cluster Amazon EKS e Nodi Amazon EKS. Alcune impostazioni possono essere abilitate solo quando crei cluster e nodi.

È possibile creare un cluster con uno dei seguenti tipi di nodo. Per ulteriori informazioni sui tipi di nodi, consultare Nodi Amazon EKS. Dopo aver distribuito il cluster, è possibile aggiungere altri tipi di nodo.

  • Fargate – Linux – Selezionare questo tipo di nodo se si desidera eseguire applicazioni Linux su AWS Fargate. Fargate è un motore di calcolo serverless che consente di implementare pod di Kubernetes senza dover gestire le istanze Amazon EC2.

  • Nodi gestiti – Linux – Selezionare questo tipo di nodo se si desidera eseguire applicazioni Amazon Linux su istanze Amazon EC2. Sebbene non sia trattato in questa guida, è anche possibile aggiungere nodi autogestiti di Windows e Bottlerocket al cluster.

Creare il cluster Amazon EKS con il seguente comando. Sostituire my-cluster con il proprio valore. Il nome del cluster può contenere solo caratteri alfanumerici (con distinzione tra lettere maiuscole e minuscole) e trattini. Deve iniziare con un carattere alfabetico e non può avere una lunghezza superiore a 128 caratteri. Sostituisci region-code con qualsiasi Regione AWS supportata da Amazon EKS. Per un elenco delle Regione AWS, consulta la sezione Endpoint e quote di Amazon EKS nella guida di riferimento generale di AWS.

Fargate – Linux
eksctl create cluster --name my-cluster --region region-code --fargate
Managed nodes – Linux
eksctl create cluster --name my-cluster --region region-code

Output

La creazione di cluster richiede diversi minuti. Durante la creazione, vengono generate diverse righe di output. L'ultima riga di output è simile alla seguente riga di esempio.

... [✓] EKS cluster "my-cluster" in "region-code" region is ready

eksctl ha creato un file kubectl config in ~/.kube o aggiunto la configurazione del nuovo cluster all'interno di un file config esistente in ~/.kube sul computer.

Al termine della creazione del cluster, per visualizzare tutte le risorse create, visualizzare la pila AWS CloudFormation denominata eksctl-my-cluster-cluster nella console AWS CloudFormation all'indirizzo https://console.aws.amazon.com/cloudformation.

Fase 2: Visualizzazione delle risorse Kubernetes

  1. Visualizzare i nodi del cluster.

    kubectl get nodes -o wide

    Output

    Fargate – Linux
    NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME fargate-ip-192-168-141-147.region-code.compute.internal Ready <none> 8m3s v1.21.5-eks-7c9bda 192.168.141.147 <none> Amazon Linux 2 5.4.156-83.273.amzn2.x86_64 containerd://1.3.2 fargate-ip-192-168-164-53.region-code.compute.internal Ready <none> 7m30s v1.21.5-eks-7c9bda 192.168.164.53 <none> Amazon Linux 2 5.4.156-83.273.amzn2.x86_64 containerd://1.3.2
    Managed nodes – Linux
    NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME ip-192-168-12-49.region-code.compute.internal Ready <none> 6m7s v1.21.5-eks-d1db3c 192.168.12.49 52.35.116.65 Amazon Linux 2 5.4.156-83.273.amzn2.x86_64 docker://20.10.7 ip-192-168-72-129.region-code.compute.internal Ready <none> 6m4s v1.21.5-eks-d1db3c 192.168.72.129 44.242.140.21 Amazon Linux 2 5.4.156-83.273.amzn2.x86_64 docker://20.10.7

    Per ulteriori informazioni sugli elementi visualizzati nell'output, consultare Visualizzazione dei nodi.

  2. Visualizzazione dei carichi di lavoro in esecuzione nel cluster.

    kubectl get pods --all-namespaces -o wide

    Output

    Fargate – Linux
    NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES kube-system coredns-69dfb8f894-9z95l 1/1 Running 0 18m 192.168.164.53 fargate-ip-192-168-164-53.region-code.compute.internal <none> <none> kube-system coredns-69dfb8f894-c8v66 1/1 Running 0 18m 192.168.141.147 fargate-ip-192-168-141-147.region-code.compute.internal <none> <none>
    Managed nodes – Linux
    NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES kube-system aws-node-6ctpm 1/1 Running 0 7m43s 192.168.72.129 ip-192-168-72-129.region-code.compute.internal <none> <none> kube-system aws-node-cbntg 1/1 Running 0 7m46s 192.168.12.49 ip-192-168-12-49.region-code.compute.internal <none> <none> kube-system coredns-559b5db75d-26t47 1/1 Running 0 14m 192.168.78.81 ip-192-168-72-129.region-code.compute.internal <none> <none> kube-system coredns-559b5db75d-9rvnk 1/1 Running 0 14m 192.168.29.248 ip-192-168-12-49.region-code.compute.internal <none> <none> kube-system kube-proxy-l8pbd 1/1 Running 0 7m46s 192.168.12.49 ip-192-168-12-49.region-code.compute.internal <none> <none> kube-system kube-proxy-zh85h 1/1 Running 0 7m43s 192.168.72.129 ip-192-168-72-129.region-code.compute.internal <none> <none>

    Per ulteriori informazioni sugli elementi visualizzati nell'output, consultare Visualizzazione dei carichi di lavoro.

Fase 3: Eliminazione del cluster e dei nodi

Dopo aver creato il cluster e i nodi per questo tutorial, è consigliabile eseguire la pulizia mediante l'eliminazione del cluster e dei nodi con il seguente comando. Per eseguire altre operazioni con questo cluster prima di eseguire la pulizia, consultare Fasi successive.

eksctl delete cluster --name my-cluster --region region-code

Fasi successive

I seguenti argomenti della documentazione consentono di estendere la funzionalità del cluster.