Verbinden Sie einen externen Kubernetes-Cluster mit der Amazon-EKS-Managementkonsole - 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.

Verbinden Sie einen externen Kubernetes-Cluster mit der Amazon-EKS-Managementkonsole

Sie können einen externen Kubernetes-Cluster mit Amazon EKS verbinden, indem Sie mehrere Methoden im folgenden Prozess verwenden. Dieser Prozess umfasst zwei Schritte: die Registrierung des Clusters bei Amazon EKS und die Installation des eks-connector-Agents im Cluster.

Wichtig

Der zweite Schritt muss innerhalb von 3 Tagen nach Abschluss des ersten Schritts erfolgen, bevor die Registrierung abläuft.

Überlegungen

Sie können YAML-Manifeste bei der Installation des Agenten verwenden. Alternativ können Sie Helm verwenden, wenn Sie den Cluster mit der Befehlszeilenschnittstelle AWS-Managementkonsole oder AWS registrieren. Sie können Helm jedoch nicht zum Installieren des Agenten verwenden, wenn Sie den Cluster mit eksctl registrieren.

Voraussetzungen

  • Stellen Sie sicher, dass die Agent-Rolle von Amazon EKS Connector erstellt wurde. Befolgen Sie die Schritte unter Erstellen der Konnektor-Agent-Rolle für Amazon EKS.

  • Sie müssen über die folgenden Berechtigungen verfügen, um einen Cluster zu registrieren:

    • eks:RegisterCluster

    • ssm:CreateActivation

    • ssm:DeleteActivation

    • iam:PassRole

Schritt 1: Registrieren des Clusters

Um einen Cluster beim Amazon EKS Connector zu registrieren, können Sie eines dieser Tools verwenden:

AWS-CLI

  1. Die AWS-CLI muss installiert sein. Informationen zur Installation oder Aktualisierung finden Sie unter Installieren der AWS-CLI.

  2. Geben Sie für die Connector-Konfiguration Ihre Amazon-EKS-Connector-Agent-IAM-Rolle an. Weitere Informationen finden Sie unter Erforderliche IAM-Rollen für Amazon EKS Connector.

    aws eks register-cluster \ --name my-first-registered-cluster \ --connector-config roleArn=arn:aws:iam::111122223333:role/AmazonEKSConnectorAgentRole,provider="OTHER" \ --region aws-region

    Eine Beispielausgabe sieht wie folgt aus.

    { "cluster": { "name": "my-first-registered-cluster", "arn": "arn:aws:eks:region:111122223333:cluster/my-first-registered-cluster", "createdAt": 1627669203.531, "ConnectorConfig": { "activationId": "xxxxxxxxACTIVATION_IDxxxxxxxx", "activationCode": "xxxxxxxxACTIVATION_CODExxxxxxxx", "activationExpiry": 1627672543.0, "provider": "OTHER", "roleArn": "arn:aws:iam::111122223333:role/AmazonEKSConnectorAgentRole" }, "status": "CREATING" } }

    Sie verwenden die Werte aws-region, activationId und activationCode im nächsten Schritt.

AWS-Managementkonsole

  1. Öffnen Sie die Amazon-EKS-Konsole.

  2. Wählen Sie Add cluster (Cluster hinzufügen) und Register (Registrieren) aus, um die Konfigurationsseite aufzurufen.

  3. Füllen Sie im Abschnitt Cluster konfigurieren die folgenden Felder aus:

    • Name – Ein eindeutiger Name für Ihren Cluster.

    • Provider (Provider) – Hiermit zeigen Sie die Dropdown-Liste der Kubernetes-Clusteranbieter an. Wenn Sie den spezifischen Anbieter nicht kennen, wählen Sie Andere.

    • Rolle EKS-Connector – Wählen Sie die Rolle aus, die für die Verbindung mit dem Cluster verwendet werden soll.

  4. Wählen Sie Cluster registrieren aus.

  5. Die Seite Cluster-Übersicht wird angezeigt. Wenn Sie das Helm-Chart verwenden möchten, kopieren Sie den Befehl helm install und fahren Sie mit dem nächsten Schritt fort. Wenn Sie das YAML-Manifest verwenden möchten, wählen Sie YAML-Datei herunterladen aus, um die Manifestdatei auf Ihr lokales Laufwerk herunterzuladen.

    Wichtig

    Dies ist Ihre einzige Möglichkeit, den Befehl helm install zu kopieren oder diese Datei herunterzuladen. Navigieren Sie nicht von dieser Seite weg, da auf den Link nicht zugegriffen werden kann und Sie den Cluster abmelden und die Schritte von vorne beginnen müssen.

    Der Befehl bzw. die Manifestdatei kann nur einmal für den registrierten Cluster verwendet werden. Wenn Sie Ressourcen aus dem Kubernetes-Cluster löschen, müssen Sie den Cluster erneut registrieren und eine neue Manifestdatei abrufen.

Fahren Sie mit dem nächsten Schritt fort, um die Manifestdatei auf Ihren Kubernetes-Cluster anzuwenden.

eksctl

  1. eksctl-Version 0.68 oder höher muss installiert sein. Informationen zur Installation oder Aktualisierung finden Sie unter Erste Schritte mit Amazon EKS – eksctl.

  2. Registrieren Sie den Cluster unter Angabe eines Namens, eines Anbieters und einer Region.

    eksctl register cluster --name my-cluster --provider my-provider --region region-code

    Beispielausgabe:

    2021-08-19 13:47:26 [ℹ] creating IAM role "eksctl-20210819194112186040" 2021-08-19 13:47:26 [ℹ] registered cluster "<name>" successfully 2021-08-19 13:47:26 [ℹ] wrote file eks-connector.yaml to <current directory> 2021-08-19 13:47:26 [ℹ] wrote file eks-connector-clusterrole.yaml to <current directory> 2021-08-19 13:47:26 [ℹ] wrote file eks-connector-console-dashboard-full-access-group.yaml to <current directory> 2021-08-19 13:47:26 [!] note: "eks-connector-clusterrole.yaml" and "eks-connector-console-dashboard-full-access-group.yaml" give full EKS Console access to IAM identity "<aws-arn>", edit if required; read https://eksctl.io/usage/eks-connector for more info 2021-08-19 13:47:26 [ℹ] run `kubectl apply -f eks-connector.yaml,eks-connector-clusterrole.yaml,eks-connector-console-dashboard-full-access-group.yaml` before expiry> to connect the cluster

    Dadurch werden Dateien auf Ihrem lokalen Computer erstellt. Diese Dateien müssen innerhalb von 3 Tagen auf den externen Cluster angewendet werden, sonst läuft die Registrierung ab.

  3. Wenden Sie in einem Terminal, das Zugriff auf den Cluster hat, die Datei eks-connector-binding.yaml an:

    kubectl apply -f eks-connector-binding.yaml

Schritt 2: Installieren des eks-connector-Agents

Um den eks-connector-Agenten zu installieren, verwenden Sie eines der folgenden Tools:

Helm

Anmerkung

Wenn Sie den Cluster mit eksctl registriert haben, verwenden Sie die YAML-Manifest-Methode anstelle der Helm-Chart-Methode.

  1. Wenn Sie im vorherigen Schritt die AWS-CLI verwendet haben, ersetzen Sie ACTIVATION_CODE und ACTIVATION_ID im folgenden Befehl durch die Werte activationId bzw. activationCode. Ersetzen Sie die aws-region durch die AWS-Region, die Sie im vorherigen Schritt verwendet haben. Führen Sie dann den Befehl aus, um den eks-connector-Agent auf dem registrierenden Cluster zu installieren:

    $ helm install eks-connector \ --namespace eks-connector \ oci://public.ecr.aws/eks-connector/eks-connector-chart \ --set eks.activationCode=ACTIVATION_CODE \ --set eks.activationId=ACTIVATION_ID \ --set eks.agentRegion=aws-region

    Wenn Sie im vorherigen Schritt die AWS-Managementkonsole verwendet haben, verwenden Sie den Befehl, den Sie aus dem vorherigen Schritt kopiert haben und in den diese Werte eingetragen sind.

  2. Überprüfen Sie den Zustand der installierten eks-connector-Bereitstellung und warten Sie, bis der Status des registrierten Clusters in Amazon EKS ACTIVE lautet.

yaml

Schließen Sie die Verbindung ab, indem Sie die Amazon-EKS-Connector-Manifestdatei auf Ihren Kubernetes-Cluster anwenden. Dazu müssen Sie die zuvor beschriebenen Methoden verwenden. Wenn das Manifest nicht innerhalb von drei Tagen angewendet wird, läuft die Registrierung für Amazon EKS Connector ab. Wenn die Clusterverbindung abläuft, muss die Registrierung des Clusters aufgehoben werden, bevor der Cluster erneut verbunden wird.

  1. Laden Sie die Amazon EKS Connector YAML-Datei herunter.

    curl -O https://amazon-eks.s3.us-west-2.amazonaws.com/eks-connector/manifests/eks-connector/latest/eks-connector.yaml
  2. Bearbeiten Sie die YAML-Datei von Amazon EKS Connector und ersetzen Sie alle Verweise auf %AWS_REGION%, %EKS_ACTIVATION_ID%, %EKS_ACTIVATION_CODE% durch die aws-region, activationId und activationCode aus der Ausgabe des vorherigen Schritts.

    Der folgende Beispielbefehl kann diese Werte ersetzen.

    sed -i "s~%AWS_REGION%~$aws-region~g; s~%EKS_ACTIVATION_ID%~$EKS_ACTIVATION_ID~g; s~%EKS_ACTIVATION_CODE%~$(echo -n $EKS_ACTIVATION_CODE | base64)~g" eks-connector.yaml
    Wichtig

    Stellen Sie sicher, dass Ihr Aktivierungscode das base64-Format hat.

  3. In einem Terminal, das auf den Cluster zugreifen kann, können Sie jetzt die aktualisierte Manifestdatei mit dem folgenden Befehl anwenden:

    kubectl apply -f eks-connector.yaml
  4. Nachdem die YAML-Dateien des Amazon-EKS-Connector-Manifests und der Rollenbindung auf Ihren Kubernetes-Cluster angewendet wurden, bestätigen Sie, dass der Cluster jetzt verbunden ist.

    aws eks describe-cluster \ --name "my-first-registered-cluster" \ --region AWS_REGION

    Die Ausgabe sollte status=ACTIVE enthalten.

  5. (Optional) Fügen Sie Ihrem Cluster Tags hinzu. Weitere Informationen finden Sie unter Organisation von Amazon-EKS-Ressourcen mit Tags.

Nächste Schritte

Falls Sie Probleme mit diesen Schritten haben, finden Sie weitere Informationen unter Fehlerbehebung bei Problemen mit dem Amazon EKS Connector.

Informationen zum Gewähren des Zugriffs zusätzlicher IAM-Prinzipale in der Amazon-EKS-Konsole zum Anzeigen von Kubernetes-Ressourcen in einem verbundenen Cluster finden Sie unter Gewähren Sie Zugriff auf die Anzeige von Kubernetes-Cluster-Ressourcen in einer Amazon-EKS-Konsole..