Erste Schritte mit Amazon EKS – eksctl - Amazon EKS

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

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.

  • kubectl – Ein Befehlszeilentool für die Arbeit mit Kubernetes-Clustern. Weitere Informationen finden Sie unter Installieren oder Aktualisieren von kubectl.

  • eksctl – Ein Befehlszeilen-Tool für die Arbeit mit EKS-Clustern, das viele einzelne Aufgaben automatisiert. Weitere Informationen finden Sie in der Dokumentation zu eksctl unter Installation.

  • Erforderliche IAM-Berechtigungen – Der von Ihnen verwendete IAM-Sicherheitsprinzipal muss über Berechtigungen zum Arbeiten mit Amazon-EKS-IAM-Rollen, serviceverknüpften Rollen, AWS CloudFormation, einer VPC und zugehörigen Ressourcen verfügen. Weitere Informationen finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für Amazon Elastic Container Service für Kubernetes und Verwenden von serviceverknüpften Rollen im IAM-Benutzerhandbuch. Sie müssen alle Schritte in diesem Handbuch als derselbe Benutzer ausführen. Führen Sie den folgenden Befehl aus, um den aktuellen Benutzer zu überprüfen:

    aws sts get-caller-identity

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 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 100 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

    Eine Beispielausgabe sieht wie folgt aus.

    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

    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

    Eine Beispielausgabe sieht wie folgt aus.

    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>

    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.