Erste Schritte mit Amazon EKS – eksctl - Amazon EKS

Erste Schritte mit Amazon EKS – eksctl

Dieses Handbuch hilft Ihnen beim Erstellen aller erforderlichen Ressourcen für die ersten Schritte mit Amazon Elastic Kubernetes Service (Amazon EKS) mithilfe von eksctl, einem einfachen Befehlszeilendienstprogramm zum Erstellen und Verwalten von Kubernetes-Clustern auf Amazon EKS. Am Ende dieses Tutorials haben Sie einen laufenden Amazon-EKS-Cluster, auf dem Sie Anwendungen bereitstellen können.

Die Verfahren in diesem Handbuch erstellen automatisch mehrere Ressourcen für Sie, die Sie manuell erstellen müssen, wenn Sie Ihren Cluster mit dem AWS Management Console. Wenn Sie die meisten Ressourcen lieber manuell erstellen möchten, um besser zu verstehen, wie sie miteinander interagieren, verwenden Sie das AWS Management Console, um Ihren Cluster zu erstellen und zu berechnen. Weitere Informationen finden Sie unter Erste Schritte mit Amazon EKS – AWS Management Console und AWS CLI.

Voraussetzungen

Bevor Sie mit diesem Tutorial beginnen, müssen Sie die folgenden Werkzeuge und Ressourcen installieren und konfigurieren, die Sie zum Erstellen und Verwalten eines Amazon-EKS-Clusters benötigen.

Schritt 1: Erstellen Sie Ihre Amazon-EKS-Cluster und -Knoten

Wichtig

Für einen möglichst einfachen und schnellen Einstieg enthält dieses Thema Schritte zum Erstellen eines Clusters und von Knoten mit Standardeinstellungen. Bevor Sie einen Cluster und Knoten für den Produktionseinsatz erstellen, empfehlen wir Ihnen, sich mit allen Einstellungen vertraut zu machen und einen Cluster und Knoten mit den Einstellungen bereitzustellen, die Ihren Anforderungen entsprechen. Weitere Informationen finden Sie unter Erstellen eines Amazon-EKS-Clusters und Amazon-EKS-Knoten. Einige Einstellungen können nur aktiviert werden, wenn Sie Ihren Cluster und Ihre Knoten erstellen.

Sie können einen Cluster mit einem der folgenden Knotentypen erstellen. Weitere Informationen zu den einzelnen Typen finden Sie unter Amazon-EKS-Knoten. Nachdem Ihr Cluster bereitgestellt wurde, können Sie andere Knotentypen hinzufügen.

  • Fargate – Linux – Wählen Sie diesen Knotentyp, wenn Sie Linux-Anwendungen auf AWS Fargate ausführen möchten. Fargate ist eine Serverless-Compute-Engine, mit der Sie Kubernetes-pods bereitstellen können, ohne Amazon-EC2-Instances zu verwalten.

  • Verwaltete Knoten – Linux – Wählen Sie diesen Knotentyp aus, wenn Sie Amazon-Linux-Anwendungen auf Amazon-EC2-Instances ausführen möchten. Obwohl dies in diesem Handbuch nicht behandelt wird, können Sie auch selbstverwaltete Windows- und Bottlerocket-Knoten zu Ihrem Cluster hinzufügen.

Erstellen Sie Ihren Amazon-EKS-Cluster mit dem folgenden Befehl. Sie können my-cluster durch Ihren eigenen Wert ersetzen. Der Cluster-Name darf nur alphanumerische Zeichen (wobei die Groß- und Kleinschreibung beachtet werden muss) und Bindestriche enthalten. Er muss mit einem alphabetischen Zeichen beginnen und darf nicht mehr als 128 Zeichen umfassen. Ersetzen Sie region-code durch eine AWS-Region, die von Amazon EKS unterstützt wird. Eine Liste der AWS-Regionen finden Sie unter Endpunkte von Amazon EKS und Kontingente im allgemeinen Referenzleitfaden für 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

Die Clustererstellung dauert mehrere Minuten. Während der Erstellung werden mehrere Ausgabezeilen angezeigt. Die letzte Ausgabezeile ähnelt der folgenden Beispielzeile.

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

eksctl hat eine kubectl config-Datei in ~/.kube erstellt oder die Konfiguration des neuen Clusters innerhalb einer vorhandenen config-Datei in ~/.kube auf Ihrem Computer hinzugefügt.

Nachdem die Clustererstellung abgeschlossen ist, zeigen Sie den AWS CloudFormation-Stack mit dem Namen eksctl-my-cluster-cluster in der AWS CloudFormation-Konsole unter https://console.aws.amazon.com/cloudformation an, um alle erstellten Ressourcen anzuzeigen.

Schritt 2: Kubernetes-Ressourcen anzeigen

  1. Zeigen Sie Ihre Cluster-Knoten an.

    kubectl get nodes -o wide

    Die Beispielausgabe lautet wie folgt.

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

    Weitere Informationen dazu, was in der Ausgabe angezeigt wird, finden Sie unter Anzeigen der Kubernetes-Ressourcen.

  2. Zeigen Sie die Workloads an, die auf Ihrem Cluster ausgeführt werden.

    kubectl get pods -A -o wide

    Die Beispielausgabe lautet wie folgt.

    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>

    Weitere Informationen dazu, was in der Ausgabe angezeigt wird, finden Sie unter Anzeigen der Kubernetes-Ressourcen.

Schritt 3: Löschen Ihrer Cluster und Knoten

Nachdem Sie mit dem Cluster und den Knoten fertig sind, die Sie für dieses Tutorial erstellt haben, sollten Sie den Cluster und die Knoten mit dem folgenden Befehl löschen. Wenn Sie vor dem Bereinigen mehr mit diesem Cluster tun möchten, lesen Sie Nächste Schritte.

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

Nächste Schritte

Die folgenden Dokumentationsthemen helfen Ihnen bei der Erweiterung der Funktionalität Ihres Clusters.