View a markdown version of this page

Hybridknoten verbinden - Amazon EKS

Unterstützung für die Verbesserung dieser Seite beitragen

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.

Um zu diesem Benutzerhandbuch beizutragen, wählen Sie den GitHub Link Diese Seite bearbeiten unter, der sich im rechten Bereich jeder Seite befindet.

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.

Hybridknoten verbinden

Anmerkung

Die folgenden Schritte gelten für Hybridknoten mit kompatiblen Betriebssystemen außer Bottlerocket. Anweisungen zum Verbinden eines Hybridknotens mit Bottlerocket finden Sie unter Hybridknoten mit Bottlerocket verbinden.

In diesem Thema wird beschrieben, wie Hybridknoten mit einem Amazon-EKS-Cluster verbunden werden. Nachdem Ihre Hybridknoten dem Cluster beigetreten sind, werden sie in der Amazon EKS-Konsole und in Kubernetes-compatible Tools wie kubectl mit dem Status Nicht bereit angezeigt. Nachdem Sie die Schritte auf dieser Seite abgeschlossen haben, fahren Sie mit CNI für Hybridknoten konfigurieren fort, um Ihre Hybridknoten für die Ausführung von Anwendungen vorzubereiten.

Voraussetzungen

Bevor Sie Hybridknoten mit Ihrem Amazon-EKS-Cluster verbinden, stellen Sie sicher, dass Sie die erforderlichen Schritte abgeschlossen haben.

Erforderliche Nodeadm-Version für den Anbieter von SMS-Anmeldeinformationen

Wenn Sie AWS Systems Manager (SSM) als Ihren Anmeldeinformationsanbieter für Hybridknoten verwenden, müssen Sie nodeadm Version 1.0.19 oder höher für Neuinstallationen und Upgrades verwenden. Frühere Versionen von nodeadm enthalten einen veralteten SSM-Signaturschlüssel und schlagen während nodeadm install und nodeadm upgrade mit dem folgenden Fehler bei der Signaturüberprüfung fehl:

"msg":"Command failed","error":"failed to install ssm installer: validating ssm-setup-cli signature: Signature Verification Error: No matching signature"

Um diesen Fehler zu beheben, laden Sie die neueste Version von herunter, nodeadm bevor Sie nodeadm install oder nodeadm upgrade ausführen.

Schritt 1: Installieren Sie die Hybrid Nodes CLI (nodeadm) auf jedem lokalen Host

Wenn Sie die Amazon-EKS-Hybrid-Nodes-CLI (nodeadm) in Ihre vorgefertigten Betriebssystem-Images integrieren, können Sie diesen Schritt überspringen. Weitere Informationen zur Hybridknotenversion von nodeadm finden Sie unter Nodeadm-Referenz für Hybridknoten.

Die Hybridknoten-Version von nodeadm wird in Amazon S3 gehostet, das von Amazon betrieben wird. CloudFront Um die Installation auf jedem On-Premises-Host nodeadm durchzuführen, können Sie den folgenden Befehl von Ihren On-Premises-Hosts aus ausführen.

Für x86_64 hosts:

curl -OL 'https://hybrid-assets.eks.amazonaws.com/releases/latest/bin/linux/amd64/nodeadm'

Für ARM-Hosts

curl -OL 'https://hybrid-assets.eks.amazonaws.com/releases/latest/bin/linux/arm64/nodeadm'

Fügen Sie der heruntergeladenen Binärdatei auf jedem Host die Berechtigung zum Ausführen von Dateien hinzu.

chmod +x nodeadm

Schritt 2: Installieren Sie die Abhängigkeiten der Hybridknoten mit nodeadm

Wenn Sie die Abhängigkeiten der Hybridknoten in vorgefertigten Betriebssystem-Images installieren, können Sie diesen Schritt überspringen. Mit dem nodeadm install-Befehl können Sie alle für Hybridknoten erforderlichen Abhängigkeiten installieren. Zu den Abhängigkeiten der Hybridknoten gehören Containerd-, Kubelet-, Kubectl- und SSM- AWS oder IAM Roles Anywhere-Komponenten. AWS Weitere Informationen zu den von Nodeadm-Referenz für Hybridknoten installierten Komponenten und Dateispeicherorten finden Sie unter nodeadm install. Weitere Informationen zu den Domains, die in Ihrer On-Premises-Firewall für den nodeadm install-Prozess zugelassen werden müssen, finden Sie unter Vorbereitung der Vernetzung für Hybridknoten für Hybridknoten.

Führen Sie den folgenden Befehl aus, um die Abhängigkeiten der Hybridknoten auf Ihrem On-Premises-Host zu installieren. Der folgende Befehl muss mit einem Benutzer ausgeführt werden, der Zugriff auf Ihren Host hat. sudo/root

Wichtig

Die CLI (nodeadm) für Hybridknoten muss mit einem Benutzer ausgeführt werden, der sudo/root Zugriff auf Ihren Host hat.

  • Ersetzen Sie K8S_VERSION durch die Kubernetes-Nebenversion Ihres Amazon-EKS-Clusters, z. B. 1.31. Eine Liste der unterstützten Kubernetes-Versionen finden Sie unter Unterstützte Versionen von Amazon EKS.

  • Ersetzen Sie CREDS_PROVIDER durch den von Ihnen verwendeten On-Premises-Anmeldeinformationsanbieter. Gültige Werte gelten ssm für AWS SSM und iam-ra für AWS IAM Roles Anywhere.

nodeadm install K8S_VERSION --credential-provider CREDS_PROVIDER

Schritt 3: Hybridknoten mit Ihrem Cluster verbinden

Bevor Sie Ihre Hybridknoten mit Ihrem Cluster verbinden, vergewissern Sie sich, dass Sie den erforderlichen Zugriff in Ihrer lokalen Firewall und in der Sicherheitsgruppe für Ihren Cluster für die Amazon to/from EKS-Steuerungsebenen-Hybridknotenkommunikation zugelassen haben. Die meisten Probleme in diesem Schritt stehen im Zusammenhang mit der Firewall-Konfiguration, der Konfiguration der Sicherheitsgruppe oder der Konfiguration der IAM-Rolle für Hybridknoten.

Wichtig

Die CLI (nodeadm) für Hybridknoten muss mit einem Benutzer ausgeführt werden, der sudo/root Zugriff auf Ihren Host hat.

  1. Erstellen Sie auf jedem Host eine nodeConfig.yaml-Datei mit den Werten für Ihre Bereitstellung. Eine vollständige Beschreibung der verfügbaren Konfigurationseinstellungen finden Sie unter Nodeadm-Referenz für Hybridknoten. Wenn Ihre IAM-Rolle für Hybridknoten über keine Berechtigung für die eks:DescribeCluster-Aktion verfügt, müssen Sie Ihren Kubernetes-API-Endpunkt, Ihr Cluster-CA-Bundle und Ihre Kubernetes-Service-IPv4-CIDR im Cluster-Abschnitt Ihres nodeConfig.yaml übergeben.

    1. Verwenden Sie das folgende nodeConfig.yaml Beispiel, wenn Sie AWS SSM-Hybrid-Aktivierungen für Ihren lokalen Anmeldeinformationsanbieter verwenden.

      1. Ersetzen Sie CLUSTER_NAME mit dem Namen Ihres Clusters.

      2. Ersetzen Sie es AWS_REGION durch die AWS Region, in der Ihr Cluster gehostet wird. Beispiel, us-west-2.

      3. ACTIVATION_CODEErsetzen Sie ihn durch den Aktivierungscode, den Sie bei der Erstellung Ihrer AWS SSM-Hybridaktivierung erhalten haben. Weitere Informationen finden Sie unter Vorbereitung der Anmeldeinformationen für Hybridknoten.

      4. ACTIVATION_IDErsetzen Sie ihn durch die Aktivierungs-ID, die Sie bei der Erstellung Ihrer AWS SSM-Hybridaktivierung erhalten haben. Sie können diese Informationen von der AWS Systems Manager-Konsole oder über den AWS aws ssm describe-activations CLI-Befehl abrufen.

        apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: cluster: name: CLUSTER_NAME region: AWS_REGION hybrid: ssm: activationCode: ACTIVATION_CODE activationId: ACTIVATION_ID
    2. Verwenden Sie das folgende nodeConfig.yaml Beispiel, wenn Sie AWS IAM Roles Anywhere für Ihren lokalen Anmeldeinformationsanbieter verwenden.

      1. Ersetzen Sie CLUSTER_NAME mit dem Namen Ihres Clusters.

      2. Ersetzen Sie es AWS_REGION durch die AWS Region, in der Ihr Cluster gehostet wird. Beispiel, us-west-2.

      3. Ersetzen Sie NODE_NAME durch den Namen Ihres Knotens. Der Knotenname muss mit dem CN des Zertifikats auf dem Host übereinstimmen, wenn Sie die Vertrauensrichtlinie Ihrer IAM-Rolle für Hybridknoten mit der "sts:RoleSessionName": "${aws:PrincipalTag/x509Subject/CN}"-Ressourcenbedingung konfiguriert haben. Der von Ihnen verwendete nodeName darf nicht länger als 64 Zeichen sein.

      4. Ersetzen Sie TRUST_ANCHOR_ARN durch die ARN des Trust Anchors, den Sie in den Schritten zum Vorbereiten der Anmeldeinformationen für Hybridknoten konfiguriert haben.

      5. Ersetzen Sie PROFILE_ARN durch die ARN des Trust Anchors, den Sie in den Schritten für Vorbereitung der Anmeldeinformationen für Hybridknoten konfiguriert haben.

      6. Ersetzen Sie ROLE_ARN durch die ARN Ihrer IAM-Rolle für Hybridknoten.

      7. Ersetzen Sie CERTIFICATE_PATH durch den Pfad auf Ihrer Festplatte zu Ihrem Knotenzertifikat. Wenn Sie keinen Pfad angeben, wird standardmäßig /etc/iam/pki/server.pem verwendet.

      8. Ersetzen Sie KEY_PATH durch den Pfad auf Ihrer Festplatte zu Ihrem privaten Zertifikatsschlüssel. Wenn Sie keinen Pfad angeben, wird standardmäßig /etc/iam/pki/server.key verwendet.

        apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: cluster: name: CLUSTER_NAME region: AWS_REGION hybrid: iamRolesAnywhere: nodeName: NODE_NAME trustAnchorArn: TRUST_ANCHOR_ARN profileArn: PROFILE_ARN roleArn: ROLE_ARN certificatePath: CERTIFICATE_PATH privateKeyPath: KEY_PATH
  2. Führen Sie den nodeadm init-Befehl mit Ihrem nodeConfig.yaml aus, um Ihre Hybridknoten mit Ihrem Amazon-EKS-Cluster zu verbinden.

    nodeadm init -c file://nodeConfig.yaml

Wenn der obige Befehl erfolgreich abgeschlossen wurde, ist Ihr Hybridknoten Ihrem Amazon-EKS-Cluster beigetreten. Sie können dies in der Amazon-EKS-Konsole überprüfen, indem Sie zur Registerkarte „Datenverarbeitung“ für Ihren Cluster navigieren (stellen Sie sicher, dass der IAM-Prinzipal über Anzeigeberechtigungen verfügt) oder mit kubectl get nodes.

Wichtig

Ihre Knoten haben den Status Not Ready, was zu erwarten ist und darauf zurückzuführen ist, dass auf Ihren Hybridknoten kein CNI ausgeführt wird. Wenn Ihre Knoten nicht dem Cluster beigetreten sind, sehen Sie unter Fehlerbehebung bei Hybridknoten nach.

Schritt 4: CNI für Hybridknoten konfigurieren

Um Ihre Hybridknoten für die Ausführung von Anwendungen vorzubereiten, führen Sie die Schritte in CNI für Hybridknoten konfigurieren aus.