Nozioni di base su Amazon EKS: eksctl - 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.

Nozioni di base su Amazon EKS: eksctl

Nota

Questo argomento illustra come iniziare senza EKS Auto Mode.

EKS Auto Mode automatizza le attività di routine per il cluster computing, l’archiviazione e la rete. Learn how to get started with Amazon EKS Auto Mode.

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 Console di gestione AWS. Se si preferisce creare manualmente la maggior parte delle risorse e capire meglio come interagiscono tra loro, utilizzare la Console di gestione AWS per creare i cluster e calcolare. Per ulteriori informazioni, consulta Guida introduttiva ad Amazon EKS: Console di gestione AWS e AWS CLI.

Prerequisiti

Prima di iniziare questo tutorial, è necessario installare e configurare gli strumenti AWS CLI, kubectl ed eksctl come descritto in Set up to use Amazon EKS.

Passaggio 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 Crea un cluster Amazon EKS. e Gestire le risorse di elaborazione utilizzando i nodi. 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 Gestire le risorse di elaborazione utilizzando i nodi. Dopo aver implementato il cluster, puoi aggiungere altri tipi di nodo.

  • Fargate – Linux: selezionare questo tipo di nodo se si desidera eseguire applicazioni Linux su Semplifica la gestione dell’elaborazione con AWS Fargate. Fargate è un motore di elaborazione serverless che consente di implementare pod di Kubernetes senza 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. Puoi sostituire my-cluster con il tuo valore. Il nome può contenere solo caratteri alfanumerici (con distinzione tra lettere maiuscole e minuscole) e trattini. Deve iniziare con un carattere alfanumerico e non può avere una lunghezza superiore a 100 caratteri. Il nome deve essere univoco all’interno della Regione AWS e dell’account AWS in cui stai creando il cluster. Sostituisci region-code con qualsiasi Regione AWS supportata da Amazon EKS. Per un elenco delle Regioni AWS supportate, consultare la pagina Amazon EKS endpoints and quotas nella AWS General Reference Guide.

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 di configurazione kubectl in ~/.kube/config o ha aggiunto la configurazione del nuovo cluster all’interno di un file di configurazione esistente in ~/.kube/config sul tuo computer.

Al termine della creazione del cluster, per visualizzare tutte le risorse create, visualizzare la pila CloudFormation AWS denominata eksctl-my-cluster-cluster nella console AWS CloudFormation.

Passaggio 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 in Console di gestione AWS.

  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 in Console di gestione AWS.

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