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.

Prerequisites

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 Befehlszeilen-Tool für die Arbeit mit Kubernetes-Clustern. Dieses Handbuch erfordert, dass Sie Version 1.21 oder höher verwenden. Weitere Informationen finden Sie unter Installieren von kubectl.

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

Erstellen Sie Ihren Cluster und Ihre 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 erhalten Sie unter Erstellen eines Amazon-EKS-Clusters und Amazon EKS Knoten.

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.

  • Verwaltete Knoten – Linux – Wählen Sie diesen Knotentyp aus, wenn Sie Amazon-Linux-Anwendungen auf Amazon-EC2-Instances ausführen möchten. Obwohl in diesem Handbuch nicht behandelt, können Sie Ihrem Cluster auch selbstverwaltete Windows- und Bottlerocket-Knoten hinzufügen. Ein Cluster muss mindestens einen Linux-Knoten enthalten, auch wenn alle Ihre Workloads Windows sind.

Wählen Sie die Registerkarte mit dem Knotentyp aus, mit dem Sie einen Cluster erstellen möchten.

Fargate – Linux

So erstellen Sie Ihren Cluster mit Fargate-Linux-Knoten

  1. Erstellen Sie Ihren Amazon-EKS-Cluster mit einem AWS-Fargate-Profil und Pod-Ausführungsrolle mit dem folgenden Befehl. Ersetzen Sie my-cluster durch Ihren eigenen Wert. Obwohl Sie einen Cluster in jeder von Amazon EKS unterstützten Region erstellen können, wird er in diesem Tutorial in US West (Oregon) us-west-2 erstellt.

    eksctl create cluster \ --name my-cluster \ --region us-west-2 \ --fargate

    Der vorherige Befehl erstellt ein Cluster und ein Fargate-Profil, das hauptsächlich Standardeinstellungen verwendet. Zeigen Sie nach Abschluss der Erstellung den Stack mit dem Namen eksctl-my-cluster-cluster in der AWS CloudFormation-Konsole an, um alle erstellten Ressourcen zu überprüfen. Geben Sie eksctl create cluster -h ein, um eine Liste aller Einstellungen und Optionen anzuzeigen. Eine Dokumentation aller Einstellungen und Optionen finden Sie in der eksctl-Dokumentation unter Cluster erstellen und verwalten.

    Ausgabe

    Während der Erstellung des Clusters und Fargate-Profils werden Ihnen mehrere Ausgabezeilen angezeigt. Die Erstellung dauert mehrere Minuten. Die letzte Ausgabezeile ähnelt der folgenden Beispielzeile.

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

    Wenn Knoten dem Cluster nicht beitreten können, dann finden Sie weitere Informationen unter Worker-Knoten können nicht mit dem Cluster verknüpft werden im Handbuch zur Fehlerbehebung.

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

  2. Testen Sie Ihre Konfiguration.

    kubectl get svc

    Ausgabe

    NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE svc/kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 1m
Managed nodes – Linux

So erstellen Sie Ihren Cluster mit verwalteten Amazon EC2 Linux-Knoten

Erstellen Sie Ihren Cluster und Ihre verwaltete Linux-Knotengruppe. Ersetzen Sie my-cluster durch Ihren eigenen Wert.

Ersetzen Sie your-key durch den Namen eines vorhandenen Schlüsselpaars. Wenn Sie kein Schlüsselpaar haben, können Sie mit dem folgenden Befehl eines erstellen. Ändern Sie bei Bedarf us-west-2 auf die Region, in der Sie Ihren Cluster erstellen. Stellen Sie sicher, dass Sie die Rückgabeausgabe in einer Datei auf Ihrem lokalen Computer speichern. Weitere Informationen finden Sie unter Erstellen oder Importieren eines Schlüsselpaars im Amazon-EC2-Benutzerhandbuch für Linux-Instances. Obwohl der Schlüssel in diesem Handbuch nicht erforderlich ist, können Sie nur beim Erstellen der Knotengruppe einen zu verwendenden Schlüssel angeben. Wenn Sie den Schlüssel angeben, können Sie SSH-Verbindungen zu Knoten herstellen, sobald diese erstellt wurden. Um den Befehl auszuführen, benötigen Sie die AWS CLI-Version 2.2.37 oder höher oder 1.20.40 oder höher. Weitere Informationen finden Sie unter Installieren, Aktualisieren und Deinstallieren von AWS CLI im AWS Command Line Interface-Benutzerhandbuch.

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

Erstellen Sie Ihren -Cluster und Ihre Knoten mit dem folgenden Befehl. Ersetzen Sie die Beispielwerte durch Ihre eigenen Werte. Obwohl Sie einen Cluster in jeder von Amazon EKS unterstützten Region erstellen können, wird er in diesem Tutorial in US West (Oregon) us-west-2 erstellt.

eksctl create cluster \ --name my-cluster \ --region us-west-2 \ --with-oidc \ --ssh-access \ --ssh-public-key your-key

Der vorherige Befehl erstellt einen Cluster mit Knoten, die hauptsächlich die standardmäßigen Amazon-EKS-Einstellungen verwenden. Um alle erstellten Ressourcen anzuzeigen, zeigen Sie den Stapel mit dem Namen eksctl-<my-cluster>-cluster- in der AWS CloudFormation-Konsole unter https://console.aws.amazon.com/cloudformation an. Geben Sie eksctl create cluster -h ein, um eine Liste aller Einstellungen und Optionen anzuzeigen. Eine Dokumentation aller Einstellungen und Optionen finden Sie in der eksctl-Dokumentation unter Cluster erstellen und verwalten.

Ausgabe

Während der Erstellung der Cluster und Knoten werden Ihnen mehrere Ausgabezeilen angezeigt. Die Cluster- und Knotenerstellung dauert mehrere Minuten. Die letzte Ausgabezeile ähnelt der folgenden Beispielzeile.

... [✓] EKS cluster "my-cluster" in "us-west-2" 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 hinzugefügt.

Schritt 2: Ressourcen anzeigen

  1. Zeigen Sie Ihre Cluster-Knoten an.

    kubectl get nodes -o wide

    Amazon-EC2-Knotenausgabe

    NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME ip-192-168-12-49us-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

    Fargate-Knoten-Ausgabe

    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

    Weitere Informationen zu dem, was Sie hier sehen, finden Sie unter View-Knoten.

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

    kubectl get pods --all-namespaces -o wide

    Amazon-EC2-Ausgabe

    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>

    Fargate-Ausgabe

    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>

    Weitere Informationen zu dem, was Sie hier sehen, finden Sie unter Anzeigen von Workloads.

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 löschen. Wenn Sie vor dem Bereinigen mehr mit diesem Cluster tun möchten, lesen Sie Nächste Schritte.

Löschen Sie Ihren Cluster und Ihre Knoten.

eksctl delete cluster --name my-cluster --region us-west-2

Nächste Schritte

Nachdem Sie nun über einen funktionierenden Amazon-EKS-Cluster mit Knoten verfügen, können Sie mit der Installation von Kubernetes-Add-Ons und -Anwendungen auf Ihrem Cluster beginnen. Die folgenden Dokumentationsthemen helfen Ihnen bei der Erweiterung der Funktionalität Ihres Clusters.