Guida introduttiva ad Amazon EKS: eksctl - Amazon EKS

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à.

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 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 preferisci creare manualmente la maggior parte delle risorse per capire meglio come interagiscono tra loro, usa la AWS Management Console per creare il cluster e l'elaborazione. 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 lavorare con i cluster Kubernetes. Per ulteriori informazioni, consulta Installazione o aggiornamento di kubectl.

  • eksctl: uno strumento a riga di comando per usare cluster EKS che automatizza molte attività individuali. Per ulteriori informazioni, consulta Installation nella documentazione di eksctl.

  • Autorizzazioni IAM richieste: il responsabile della sicurezza IAM che stai utilizzando deve disporre delle autorizzazioni per lavorare con i ruoli IAM di Amazon EKS, i ruoli collegati ai servizi AWS CloudFormation, un VPC e le risorse correlate. Per ulteriori informazioni, consulta 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. Esegui il comando seguente per controllare l'utente corrente:

    aws sts get-caller-identity

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 implementato il cluster, puoi aggiungere altri tipi di nodo.

  • Fargate - Linux: seleziona questo tipo di nodo se desideri eseguire le applicazioni Linux su AWS Fargate. Fargate è un motore di calcolo serverless che consente di implementare Pods di Kubernetes senza dover gestire le istanze Amazon EC2.

  • Nodi gestiti - Linux: seleziona questo tipo di nodo se desideri eseguire applicazioni Amazon Linux su istanze Amazon EC2. Sebbene la procedura non sia descritta in questa guida, al cluster puoi anche aggiungere nodi autogestiti di Windows e nodi Bottlerocket.

Creare il cluster Amazon EKS con il seguente comando. Sostituire my-cluster con il proprio valore. Il nome 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 100 caratteri. Sostituisci region-code con qualsiasi Regione AWS supporto supportato da Amazon EKS. Per un elenco di Regioni AWS, consulta gli endpoint e le quote di Amazon EKS nella guida di riferimento AWS generale.

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

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.

Una volta completata la creazione del cluster, visualizza lo AWS CloudFormation stack denominato eksctl-my-cluster-cluster nella AWS CloudFormation console all'indirizzo https://console.aws.amazon.com/cloudformation per vedere tutte le risorse che sono state create.

Fase 2: Visualizzazione delle risorse Kubernetes

  1. Visualizzare i nodi del cluster.

    kubectl get nodes -o wide

    Di seguito viene riportato un output di esempio:

    Fargate – Linux
    NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME fargate-ip-192-0-2-0.region-code.compute.internal Ready <none> 8m3s v1.2.3-eks-1234567 192.0.2.0 <none> Amazon Linux 2 1.23.456-789.012.amzn2.x86_64 containerd://1.2.3 fargate-ip-192-0-2-1.region-code.compute.internal Ready <none> 7m30s v1.2.3-eks-1234567 192-0-2-1 <none> Amazon Linux 2 1.23.456-789.012.amzn2.x86_64 containerd://1.2.3
    Managed nodes – Linux
    NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME ip-192-0-2-0.region-code.compute.internal Ready <none> 6m7s v1.2.3-eks-1234567 192.0.2.0 192.0.2.2 Amazon Linux 2 1.23.456-789.012.amzn2.x86_64 containerd://1.2.3 ip-192-0-2-1.region-code.compute.internal Ready <none> 6m4s v1.2.3-eks-1234567 192.0.2.1 192.0.2.3 Amazon Linux 2 1.23.456-789.012.amzn2.x86_64 containerd://1.2.3

    Per ulteriori informazioni sugli elementi visualizzati nell'output, consultare Visualizzazione delle risorse Kubernetes.

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

    kubectl get pods -A -o wide

    Di seguito viene riportato un output di esempio:

    Fargate – Linux
    NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES kube-system coredns-1234567890-abcde 1/1 Running 0 18m 192.0.2.0 fargate-ip-192-0-2-0.region-code.compute.internal <none> <none> kube-system coredns-1234567890-12345 1/1 Running 0 18m 192.0.2.1 fargate-ip-192-0-2-1.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-12345 1/1 Running 0 7m43s 192.0.2.1 ip-192-0-2-1.region-code.compute.internal <none> <none> kube-system aws-node-67890 1/1 Running 0 7m46s 192.0.2.0 ip-192-0-2-0.region-code.compute.internal <none> <none> kube-system coredns-1234567890-abcde 1/1 Running 0 14m 192.0.2.3 ip-192-0-2-3.region-code.compute.internal <none> <none> kube-system coredns-1234567890-12345 1/1 Running 0 14m 192.0.2.4 ip-192-0-2-4.region-code.compute.internal <none> <none> kube-system kube-proxy-12345 1/1 Running 0 7m46s 192.0.2.0 ip-192-0-2-0.region-code.compute.internal <none> <none> kube-system kube-proxy-67890 1/1 Running 0 7m43s 192.0.2.1 ip-192-0-2-1.region-code.compute.internal <none> <none>

    Per ulteriori informazioni sugli elementi visualizzati nell'output, consultare Visualizzazione delle risorse Kubernetes.

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 Passaggi successivi.

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

Passaggi successivi

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