Erste Schritte mit Amazon EKS – AWS-Managementkonsole und AWS-CLI - Amazon EKS

Unterstützung für die Verbesserung dieser Seite beitragen

Um zu diesem Benutzerhandbuch beizutragen, klicken Sie auf den Link Diese Seite auf GitHub bearbeiten, der sich im rechten Bereich jeder Seite befindet.

Erste Schritte mit Amazon EKS – AWS-Managementkonsole und AWS-CLI

Anmerkung

Dieses Thema behandelt die ersten Schritte ohne EKS Auto Mode. Es verwendet verwaltete Knotengruppen zum Bereitstellen von Knoten.

EKS Auto Mode automatisiert Routineaufgaben für Cluster-Computing, -Speicherung und -Netzwerke. Informationen zu den ersten Schritten mit Amazon EKS Auto Mode. EKS Auto Mode ist die bevorzugte Methode zum Bereitstellen von Knoten.

Dieser Leitfaden hilft Ihnen beim Erstellen aller erforderlichen Ressourcen für die ersten Schritte mit Amazon Elastic Kubernetes Service (Amazon EKS) mithilfe von AWS-Managementkonsole und AWS-CLI. In diesem Leitfaden erstellen Sie jede Ressource manuell. Am Ende dieses Tutorials haben Sie einen laufenden Amazon-EKS-Cluster, auf dem Sie Anwendungen bereitstellen können.

Die Verfahren in diesem Handbuch geben Ihnen vollständige Einsichten in die Erstellung der einzelnen Ressourcen und in die Interaktionen der Ressourcen. Wenn die Mehrzahl der Ressourcen automatisch für Sie erstellt werden soll, verwenden Sie die eksctl-CLI, um Ihre Cluster- und Knoten zu erstellen. Weitere Informationen finden Sie unter Erste Schritte mit Amazon EKS – eksctl.

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.

  • AWS-CLI – Ein Befehlszeilen-Tool für die Arbeit mit AWS-Services, einschließlich Amazon EKS. Weitere Informationen finden Sie unter Installation im Benutzerhandbuch der AWS-Befehlszeilenschnittstelle. Nach der Installation der AWS-CLI empfehlen wir, sie auch zu konfigurieren. Weitere Informationen finden Sie unter Schnellkonfiguration mit aws configure im Benutzerhandbuch zur AWS-Befehlszeilenschnittstelle. Beachten Sie, dass AWS-CLI v2 erforderlich ist, um die auf dieser Seite angezeigte Option update-kubeconfig zu verwenden.

  • kubectl – Ein Befehlszeilentool für die Arbeit mit Kubernetes-Clustern. Weitere Informationen finden Sie unter kubectl und eksctl einrichten.

  • 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 und Verwendung 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

Wir empfehlen, dass Sie die Schritte in diesem Thema in einer Bash-Shell ausführen. Wenn Sie keine Bash-Shell verwenden, erfordern einige Skript-Befehle wie Zeilenfortsetzungszeichen und die Art und Weise, wie Variablen gesetzt und verwendet werden, eine Anpassung für Ihre Shell. Darüber hinaus können die Zitier- und Escape-Regeln für Ihre Shell unterschiedlich sein. Weitere Informationen finden Sie unter Verwendung von Anführungszeichen mit Zeichenfolgen in der AWS-CLI im Benutzerhandbuch zur AWS-Befehlszeilenschnittstelle.

Schritt 1: Erstellen Sie Ihre Amazon-EKS-Cluster

Wichtig

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

  1. Erstellen Sie eine Amazon VPC mit öffentlichen und privaten Subnetzen, die die Amazon-EKS-Anforderungen erfüllt. Ersetzen Sie region-code mit jeder AWS-Region, die von Amazon EKS unterstützt wird. Eine Liste der AWS-Regionen finden Sie unter Endpunkte von Amazon EKS und Kontingente im Allgemeinem AWS-Handbuch. Sie können my-eks-vpc-stack mit einem beliebigen Namen, den Sie wählen, ersetzen.

    aws cloudformation create-stack \ --region region-code \ --stack-name my-eks-vpc-stack \ --template-url https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-vpc-private-subnets.yaml
    Tipp

    Für eine Liste aller Ressourcen, die der vorherige Befehl erstellt hat, öffnen Sie die AWS-CloudFormation-Konsole unter https://console.aws.amazon.com/cloudformation. Wählen Sie den my-eks-vpc-stack-Stack und wählen Sie dann die Registerkarte Ressourcen.

  2. Erstellen Sie eine Cluster-IAM-Rolle und fügen Sie ihr die erforderliche von Amazon EKS IAM verwaltete Richtlinie hinzu. Von Amazon EKS verwaltete Kubernetes-Cluster senden in Ihrem Namen Aufrufe an andere AWS-Services, um die von Ihnen mit dem Service verwendeten Ressourcen zu verwalten.

    1. Kopieren Sie den folgenden Inhalt in eine Datei mit dem Namen eks-cluster-role-trust-policy.json.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    2. Erstellen Sie die -Rolle.

      aws iam create-role \ --role-name myAmazonEKSClusterRole \ --assume-role-policy-document file://"eks-cluster-role-trust-policy.json"
    3. Hängen Sie die erforderliche von Amazon EKS verwaltete IAM-Richtlinie an die Rolle an.

      aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEKSClusterPolicy \ --role-name myAmazonEKSClusterRole
  3. Öffnen Sie die Amazon-EKS-Konsole unter https://console.aws.amazon.com/eks/home#/clusters.

    Stellen Sie sicher, dass die oben rechts auf Ihrer Konsole angezeigte AWS-Region die AWS-Region ist, in der Sie Ihr Cluster erstellen möchten. Wenn dies nicht der Fall ist, wählen Sie das Dropdown-Menü neben dem Namen der AWS-Region aus und wählen Sie die AWS-Region aus, die Sie verwenden möchten.

  4. Wählen Sie Cluster erstellen. Wenn diese Option nicht angezeigt wird, wählen Sie zunächst im linken Navigationsbereich Cluster aus.

  5. Führen Sie auf der Seite Configure cluster (Cluster konfigurieren) die folgenden Schritte aus:

    1. Wählen Sie Benutzerdefinierte Konfiguration und deaktivieren Sie EKS Auto Mode verwenden. (Wenn Sie einen EKS-Auto-Mode-Cluster bevorzugen, beachten Sie stattdessen Erstellung eines EKS-Auto-Mode-Clusters mit AWS-Managementkonsole.)

    2. Geben Sie einen Namen für Ihren Cluster ein, z. B. my-cluster. Der Name darf nur alphanumerische Zeichen (wobei die Groß- und Kleinschreibung beachtet werden muss) und Bindestriche enthalten. Es muss mit einem alphanumerischen Zeichen beginnen und darf nicht länger als 100 Zeichen sein. Der Name muss innerhalb der AWS-Region und des AWS-Kontos eindeutig sein, in der/dem Sie den Cluster erstellen.

    3. Für Cluster Service Role wählen Sie myAmazonEKSClusterRole aus.

    4. Belassen Sie die restlichen Einstellungen auf ihren Standardwerten und wählen Sie Weiter aus.

  6. Gehen Sie auf der Seite Netzwerk angeben wie folgt vor:

    1. Wählen Sie in der Dropdown-Liste VPC (VPC) die ID der VPC aus, die Sie in einem vorherigen Schritt erstellt haben. Es ist in etwa wie folgt: * | my-eks-vpc-stack-VPC.

    2. Wählen Sie die im vorherigen Schritt erstellten Subnetze aus der Dropdown-Liste Subnetze aus. Die Subnetze sehen in etwa so aus: * | my-eks-vpc-stack-*.

    3. Wählen Sie die im vorherigen Schritt erstellte Sicherheitsgruppe aus der Dropdown-Liste Zusätzliche Sicherheitsgruppen aus. Sie lautet in etwa * | my-eks-vpc-stack-ControlPlaneSecurityGroup-*.

    4. Belassen Sie die restlichen Einstellungen auf ihren Standardwerten und wählen Sie Weiter aus.

  7. Wählen Sie auf der Seite Beobachtbarkeit konfigurieren die Option Weiter aus.

  8. Wählen Sie auf der Seite Add-Ons auswählen die Option Weiter aus.

    Weitere Informationen zu Add-Ons finden Sie unter Amazon-EKS-Add-ons.

  9. Wählen Sie auf der Seite Konfigurieren ausgewählter Add-Ons-Einstellungen die Option Weiter aus.

  10. Wählen Sie auf der Seite Überprüfen und erstellen die Option Erstellen aus.

    Rechts neben dem Cluster-Namen lautet der Cluster-Status für einige Minuten Erstellen, bis der Cluster-Bereitstellungsprozess abgeschlossen ist. Fahren Sie nicht mit dem nächsten Schritt fort, bis der Status Aktiv lautet.

    Anmerkung

    Sie erhalten möglicherweise eine Fehlermeldung, dass eine der Availability Zones in Ihrer Anfrage nicht über genügend Kapazität zum Erstellen eines Amazon-EKS-Clusters verfügt. Wenn dies der Fall ist, enthält die Fehlerausgabe die Availability Zones, die einen neuen Cluster unterstützen können. Versuchen Sie, Ihren Cluster mit mindestens zwei Subnetzen erneut zu erstellen, die sich in den unterstützten Availability Zones für Ihr Konto befinden. Weitere Informationen finden Sie unter Unzureichende Kapazität.

Schritt 2: Konfigurieren Sie Ihren Computer für die Kommunikation mit Ihrem Cluster

In diesem Abschnitt erstellen Sie eine kubeconfig-Datei für Ihren Cluster. Die Einstellungen in dieser Datei ermöglichen der kubectl-CLI die Kommunikation mit Ihrem Cluster.

Bevor Sie fortfahren, vergewissern Sie sich, dass die Erstellung Ihres Clusters in Schritt 1 erfolgreich abgeschlossen wurde.

  1. Erstellen oder aktualisieren Sie eine kubeconfig-Datei für Ihren Cluster. Ersetzen Sie region-code durch die AWS-Region, in der Sie Ihren Cluster erstellt haben. Ersetzen Sie my-cluster durch den Namen Ihres Clusters.

    aws eks update-kubeconfig --region region-code --name my-cluster

    Standardmäßig wird die config-Datei in ~/.kube erstellt oder die Konfiguration des neuen Clusters wird einer vorhandenen config-Datei in ~/.kube hinzugefügt.

  2. Testen Sie Ihre Konfiguration.

    kubectl get svc
    Anmerkung

    Wenn Sie Autorisierungs- oder Ressourcenfehler erhalten, finden Sie weitere Informationen unter Nicht autorisiert oder Zugriff verweigert (kubectl) im Thema zur Fehlerbehebung.

    Eine Beispielausgabe sieht wie folgt aus.

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

Schritt 3: Erstellen von Knoten

Wichtig

Um den Einstieg so einfach und schnell wie möglich zu gestalten, enthält dieses Thema Schritte zum Erstellen von Knoten mit überwiegend Standardeinstellungen. Bevor Sie Knoten für den Produktionseinsatz erstellen, empfehlen wir Ihnen, sich mit allen Einstellungen vertraut zu machen und Knoten mit den Einstellungen bereitzustellen, die Ihren Anforderungen entsprechen. Weitere Informationen finden Sie unter Verwaltung von Datenverarbeitungsressourcen mithilfe von Knoten. Einige Einstellungen können nur aktiviert werden, wenn Sie Ihre Knoten erstellen.

Mit diesem Verfahren konfigurieren Sie Ihren Cluster für die Verwendung von verwalteten Knotengruppen zum Erstellen von Knoten und legen dabei die Subnetze und die IAM-Rolle für Knoten fest, die Sie in den vorherigen Schritten erstellt haben. Damit können Sie Amazon-Linux-Anwendungen in Amazon-EC2-Instances ausführen.

Weitere Informationen zu den verschiedenen Möglichkeiten der Konfiguration von Knoten in EKS finden Sie unter Verwaltung von Datenverarbeitungsressourcen mithilfe von Knoten. Nachdem Ihr Cluster bereitgestellt wurde, können Sie andere Knotentypen hinzufügen. Obwohl in diesem Handbuch nicht behandelt, können Sie Ihrem Cluster auch selbstverwaltete Windows- und Bottlerocket-Knoten hinzufügen.

So erstellen Sie Ihre verwaltete EC2-Linux-Knotengruppe

  1. Erstellen Sie eine Knoten-IAM-Rolle und fügen Sie ihr die erforderliche von Amazon EKS IAM verwaltete Richtlinie hinzu. Der Amazon EKS-Knoten-kubelet-Daemon ruft AWS-APIs in Ihrem Namen auf. Knoten erhalten über ein IAM-Instance-Profil und zugehörige Richtlinien Berechtigungen für diese API-Aufrufe.

    1. Kopieren Sie den folgenden Inhalt in eine Datei namens node-role-trust-policy.json.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    2. Erstellen Sie die Knoten-IAM-Rolle.

      aws iam create-role \ --role-name myAmazonEKSNodeRole \ --assume-role-policy-document file://"node-role-trust-policy.json"
    3. Hängen Sie die erforderlichen verwalteten IAM-Richtlinien an die Rolle an.

      aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy \ --role-name myAmazonEKSNodeRole aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly \ --role-name myAmazonEKSNodeRole aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy \ --role-name myAmazonEKSNodeRole
    4. Öffnen Sie die Amazon-EKS-Konsole unter https://console.aws.amazon.com/eks/home#/clusters.

    5. Wählen Sie den Namen des Clusters aus, den Sie in Schritt 1: Amazon-EKS-Cluster erstellen erstellt haben, z. B. my-cluster.

    6. Führen Sie auf der Seite my-cluster die folgenden Schritte aus:

    7. Wählen Sie die Registerkarte Compute (Datenverarbeitung) aus.

    8. Wählen Sie Add Node Group (Knotengruppe hinzufügen) aus.

  2. Führen Sie auf der Seite Configure Node Group (Knotengruppe konfigurieren) die folgenden Schritte aus:

    1. Geben Sie unter Name einen eindeutigen Namen für Ihre verwaltete Knotengruppe ein, beispielsweise my-nodegroup. Der Name der Knotengruppe darf nicht länger als 63 Zeichen sein. Er muss mit einem Buchstaben oder einer Ziffer beginnen, kann danach aber auch Bindestriche und Unterstriche enthalten.

    2. Für Name der Knoten-IAM-Rolle wählen Sie die Rolle myAmazonEKSNodeRole aus, die Sie im vorherigen Schritt erstellt haben. Wir empfehlen, dass jede Knotengruppe ihre eigene eindeutige IAM-Rolle verwendet.

    3. Wählen Sie Weiter aus.

  3. Akzeptieren Sie auf der Seite Computing- und Skalierungskonfiguration festlegen die Standardwerte und wählen Sie Weiter aus.

  4. Akzeptieren Sie auf der Seite Netzwerk angeben die Standardwerte und wählen Sie Weiter aus.

  5. Überprüfen Sie auf der Seite Review and create (Überprüfen und Erstellen) die Konfiguration der verwalteten Knoten, und wählen Sie Create (Erstellen).

  6. Nach einigen Minuten ändert sich der Status im Abschnitt Konfiguration der Knotengruppe von Wird erstellt auf Aktiv. Fahren Sie nicht mit dem nächsten Schritt fort, bis der Status Aktiv lautet.

Schritt 4: Ressourcen anzeigen

Sie können Ihre Knoten und Kubernetes-Workloads anzeigen.

  1. Wählen Sie im linken Navigationsbereich die Option Cluster aus. Wählen Sie in der Liste Clusters (Cluster) den Namen des erstellten Clusters aus, z. B. my-cluster.

  2. Wählen Sie auf der Seite my-cluster Folgendes aus:

    1. Registerkarte Compute (Datenverarbeitung) – Es wird eine Liste der Knoten angezeigt, die für den Cluster bereitgestellt wurden. Sie können den Namen eines Knotens auswählen, um weitere Informationen darüber anzuzeigen.

    2. Registerkarte Resourcen – Es werden alle Kubernetes-Ressourcen angezeigt, die standardmäßig in einem Amazon-EKS-Cluster bereitgestellt werden. Wählen Sie einen Ressourcentyp in der Konsole aus, um mehr über ihn zu erfahren.

Schritt 5: Löschen von Ressourcen

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

  1. Löschen Sie alle von Ihnen erstellten Knotengruppen-Profile.

    1. Öffnen Sie die Amazon-EKS-Konsole unter https://console.aws.amazon.com/eks/home#/clusters.

    2. Wählen Sie im linken Navigationsbereich die Option Cluster aus. Wählen Sie my-cluster in der Liste der Cluster aus.

    3. Wählen Sie die Registerkarte Compute (Datenverarbeitung) aus.

    4. Wenn Sie eine Knotengruppe erstellt haben, wählen Sie die Knotengruppe my-nodegroup und dann Delete (Löschen) aus. Geben Sie my-nodegroup ein und wählen Sie dann Löschen aus.

    5. Fahren Sie nicht fort, bis die Knotengruppenprofile gelöscht sind.

  2. Löschen Sie den -Cluster.

    1. Wählen Sie im linken Navigationsbereich die Option Cluster aus. Wählen Sie my-cluster in der Liste der Cluster aus.

    2. Wählen Sie Delete cluster (Cluster löschen) aus.

    3. Geben Sie my-cluster ein und wählen Sie dann Löschen aus. Fahren Sie nicht fort, bis der Cluster gelöscht wurde.

  3. Löschen Sie den VPC-AWS-CloudFormation-Stack, den Sie erstellt haben.

    1. Öffnen Sie die CloudFormation-Konsole unter der Adresse https://console.aws.amazon.com/cloudformation/.

    2. Wählen Sie den Stack my-eks-vpc-stack und dann Löschen aus.

    3. Wählen Sie im Bestätigungsdialogfeld my-eks-vpc-stack löschen Stack löschen aus.

  4. Löschen Sie die IAM-Rollen, die Sie erstellt haben.

    1. Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

    2. Wählen Sie im linken Navigationsbereich Roles aus.

    3. Wählen Sie jede von Ihnen erstellte Rolle aus der Liste ( myAmazonEKSClusterRole sowie , as well as myAmazonEKSNodeRole) aus. Klicken Sie auf Delete (Löschen), geben Sie den angeforderten Bestätigungstext ein und wählen Sie Delete (Löschen) aus.

Nächste Schritte

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