Configura un EKS cluster Amazon - Amazon EMR

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

Configura un EKS cluster Amazon

Amazon EKS è un servizio gestito che semplifica l'esecuzione di Kubernetes AWS senza dover installare, utilizzare e mantenere il proprio piano di controllo o i propri nodi Kubernetes. Segui i passaggi descritti di seguito per creare un nuovo cluster Kubernetes con nodi in Amazon. EKS

Prerequisiti

Importante

Prima di creare un EKS cluster Amazon, completa i requisiti EKS VPC e le considerazioni relative ad Amazon e subnet nella Amazon EKS User Guide per assicurarti che i tuoi EKS cluster Amazon funzionino e si scalino come previsto.

È necessario installare e configurare i seguenti strumenti e risorse necessari per creare e gestire un EKS cluster Amazon:

  • L'ultima versione di AWS CLI.

  • kubectl 1.20 o versione successiva.

  • La versione più recente di eksctl.

Per ulteriori informazioni, consulta Installa il AWS CLI, Installazione di kubectl e Installazione di eksctl.

Crea un EKS cluster Amazon utilizzando eksctl

Segui i passaggi seguenti per creare un EKS cluster Amazon utilizzandoeksctl.

Importante

Per iniziare rapidamente, puoi creare un EKS cluster e i nodi con le impostazioni predefinite. Tuttavia, per l'utilizzo in produzione, è consigliabile personalizzare le impostazioni per il cluster e i nodi di lavoro in modo da soddisfare i requisiti specifici. Per un elenco di tutte le impostazioni e opzioni disponibili, esegui il comando eksctl create cluster -h. Per ulteriori informazioni, consulta Creazione e gestione di cluster nella documentazione di eksctl.

  1. Crea una coppia di EC2 chiavi Amazon.

    Se non è presente una coppia di chiavi esistente, è possibile eseguire questo comando per creare una nuova coppia di chiavi. Sostituisci us-west-2 con la Regione in cui desideri creare il cluster.

    aws ec2 create-key-pair --region us-west-2 --key-name myKeyPair

    Salva l'output restituito in un file sul computer locale. Per ulteriori informazioni, consulta Creare o importare una coppia di key pair nella Amazon EC2 User Guide for Linux Instances.

    Nota

    Non è richiesta una key pair per creare un EKS cluster. Tuttavia, specificando la key pair, è possibile SSH accedere ai nodi una volta creati. È possibile specificare una coppia di chiavi solo quando si crea il gruppo di nodi.

  2. Crea un EKS cluster.

    Esegui il comando seguente per creare un EKS cluster e dei nodi. Replace (Sostituisci) my-cluster e myKeyPair con il nome del cluster e il nome della key pair personalizzati. Replace (Sostituisci) us-west-2 con la regione in cui desideri creare il cluster. Per ulteriori informazioni sulle regioni EKS supportate da Amazon, consulta Endpoint e quote di Amazon Elastic Kubernetes Service.

    eksctl create cluster \ --name my-cluster \ --region us-west-2 \ --with-oidc \ --ssh-access \ --ssh-public-key myKeyPair \ --instance-types=m5.xlarge \ --managed
    Importante

    Quando crei un EKS cluster, usa m5.xlarge come tipo di istanza o qualsiasi altro tipo di istanza con una memoria superiore. CPU L'utilizzo di un tipo di istanza con una memoria inferiore CPU rispetto a m5.xlarge può causare l'interruzione del lavoro a causa dell'insufficiente disponibilità di risorse nel cluster. Per visualizzare tutte le risorse create, visualizza lo stack denominato eksctl-my-cluster-cluster nella Console AWS CloudFormation.

    Per il completamento del processo di creazione del cluster e dei nodi sono necessari diversi minuti. Vengono visualizzate diverse righe di output durante la creazione del cluster e dei nodi di lavoro. L'esempio seguente mostra l'ultima riga di output.

    ... [✓] EKS cluster "my-cluster" in "us-west-2" region is ready

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

  3. Visualizzazione e convalida delle risorse

    Esegui questo comando per visualizzare i nodi del cluster.

    kubectl get nodes -o wide

    Di seguito viene mostrato un output di esempio.

    Amazon EC2 node output NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME ip-192-168-12-49.us-west-2.compute.internal Ready none 6m7s v1.18.9-eks-d1db3c 192.168.12.49 52.35.116.65 Amazon Linux 2 4.14.209-160.335.amzn2.x86_64 docker://19.3.6 ip-192-168-72-129.us-west-2.compute.internal Ready none 6m4s v1.18.9-eks-d1db3c 192.168.72.129 44.242.140.21 Amazon Linux 2 4.14.209-160.335.amzn2.x86_64 docker://19.3.6

    Per ulteriori informazioni, consulta Visualizzazione di nodi.

    Utilizza questo comando per visualizzare i carichi di lavoro in esecuzione nel cluster.

    kubectl get pods --all-namespaces -o wide

    Di seguito viene mostrato un output di esempio.

    Amazon EC2 output 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.us-west-2.compute.internal none none kube-system aws-node-cbntg 1/1 Running 0 7m46s 192.168.12.49 ip-192-168-12-49.us-west-2.compute.internal none none kube-system coredns-559b5db75d-26t47 1/1 Running 0 14m 192.168.78.81 ip-192-168-72-129.us-west-2.compute.internal none none kube-system coredns-559b5db75d-9rvnk 1/1 Running 0 14m 192.168.29.248 ip-192-168-12-49.us-west-2.compute.internal none none kube-system kube-proxy-l8pbd 1/1 Running 0 7m46s 192.168.12.49 ip-192-168-12-49.us-west-2.compute.internal none none kube-system kube-proxy-zh85h 1/1 Running 0 7m43s 192.168.72.129 ip-192-168-72-129.us-west-2.compute.internal none none

    Per ulteriori informazioni sulle autorizzazioni visualizzate, consulta Visualizzazione dei carichi di lavoro.

Crea un cluster utilizzando e EKS AWS Management ConsoleAWS CLI

È inoltre possibile utilizzare AWS Management Console e AWS CLI creare un EKS cluster. Segui la procedura descritta in Guida introduttiva ad Amazon EKS — AWS Management Console e AWS CLI. In questo modo avrai visibilità su come ogni risorsa viene creata per il EKS cluster e su come le risorse interagiscono tra loro.

Importante

Quando crei nodi per un EKS cluster, usa m5.xlarge come tipo di istanza o qualsiasi altro tipo di istanza con una memoria superioreCPU.

Crea un cluster con EKS AWS Fargate

Puoi anche creare un EKS cluster con pod in AWS Fargate esecuzione.

  1. Per creare un EKS cluster con pod in esecuzione su Fargate, segui i passaggi descritti in Getting Started with AWS Fargate Amazon. EKS

    Nota

    Amazon EMR on EKS necessita di Core DNS per eseguire i lavori sul EKS cluster. Se desideri utilizzare i tuoi pod solo su Fargate, devi seguire la procedura descritta in Updating Core. DNS

  2. Esegui questo comando per visualizzare i nodi del cluster.

    kubectl get nodes -o wide

    Di seguito viene mostrato un output Fargate di esempio.

    Fargate node output NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME fargate-ip-192-168-141-147.us-west-2.compute.internal Ready none 8m3s v1.18.8-eks-7c9bda 192.168.141.147 none Amazon Linux 2 4.14.209-160.335.amzn2.x86_64 containerd://1.3.2 fargate-ip-192-168-164-53.us-west-2.compute.internal Ready none 7m30s v1.18.8-eks-7c9bda 192.168.164.53 none Amazon Linux 2 4.14.209-160.335.amzn2.x86_64 containerd://1.3.2

    Per ulteriori informazioni, consulta Visualizzazione di nodi.

  3. Esegui questo comando per visualizzare i carichi di lavoro in esecuzione nel cluster.

    kubectl get pods --all-namespaces -o wide

    Di seguito viene mostrato un output Fargate di esempio.

    Fargate output 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.us-west-2.compute.internal none none kube-system coredns-69dfb8f894-c8v66 1/1 Running 0 18m 192.168.141.147 fargate-ip-192-168-141-147.us-west-2.compute.internal none none

    Per ulteriori informazioni, consulta Visualizzazione di carichi di lavoro.