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.
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-kompatiblen 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.
-
Sie verfügen über eine Netzwerkverbindung von Ihrer On-Premises-Umgebung zu der AWS-Region, in der Ihr Amazon-EKS-Cluster gehostet wird. Weitere Informationen finden Sie unter Vorbereitung der Vernetzung für Hybridknoten.
-
Sie verfügen über ein kompatibles Betriebssystem für Hybridknoten, das auf Ihren On-Premises-Hosts installiert ist. Weitere Informationen finden Sie unter Vorbereitung des Betriebssystems für Hybridknoten.
-
Sie haben Ihre IAM-Rolle für Hybridknoten erstellt und Ihren On-Premises-Anmeldeinformationsanbieter (AWS-Systems-Manager-Hybridaktivierungen oder AWS IAM Roles Anywhere) eingerichtet. Weitere Informationen finden Sie unter Vorbereitung der Anmeldeinformationen für Hybridknoten.
-
Sie haben Ihren für Hybridknoten aktivierten Amazon-EKS-Cluster erstellt. Weitere Informationen finden Sie unter Einen Amazon-EKS-Cluster mit Hybridknoten erstellen.
-
Sie haben Ihre Hybridknoten-IAM-Rolle den Berechtigungen der rollenbasierten Zugriffssteuerung (RBAC) von Kubernetes zugeordnet. Weitere Informationen finden Sie unter Vorbereitung des Cluster-Zugriffs für Hybridknoten.
Schritt 1: Hybridknoten-CLI (nodeadm) auf jedem On-Premises-Host installieren
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 und von Amazon CloudFront bereitgestellt. 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: Die Abhängigkeiten der Hybridknoten mit nodeadm installieren
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. Die Abhängigkeiten der Hybridknoten beinhalten Containerd, kubelet, kubectl und AWS-SSM- oder AWS-IAM-Roles-Anywhere-Komponenten. 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 nachfolgende Befehl muss von einem Benutzer ausgeführt werden, der über sudo-/root-Zugriff auf Ihren Host verfügt.
Wichtig
Die Hybridknoten-CLI (nodeadm) muss mit einem Benutzer ausgeführt werden, der über sudo/root-Zugriff auf Ihren Host verfügt.
-
Ersetzen Sie
K8S_VERSIONdurch 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_PROVIDERdurch den von Ihnen verwendeten On-Premises-Anmeldeinformationsanbieter. Gültige Werte sindssmfür AWS SSM undiam-rafür AWS IAM Roles Anywhere.
nodeadm installK8S_VERSION--credential-providerCREDS_PROVIDER
Schritt 3: Hybridknoten mit Ihrem Cluster verbinden
Bevor Sie Ihre Hybridknoten mit Ihrem Cluster verbinden, stellen Sie sicher, dass Sie in Ihrer On-Premises-Firewall und in der Sicherheitsgruppe für Ihren Cluster den erforderlichen Zugriff für die Kommunikation zwischen der Amazon-EKS-Steuerebene und dem Hybridknoten 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 Hybridknoten-CLI (nodeadm) muss mit einem Benutzer ausgeführt werden, der über sudo/root-Zugriff auf Ihren Host verfügt.
-
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 dieeks:DescribeCluster-Aktion verfügt, müssen Sie Ihren Kubernetes-API-Endpunkt, Ihr Cluster-CA-Bundle und Ihre Kubernetes-Service-IPv4-CIDR im Cluster-Abschnitt IhresnodeConfig.yamlübergeben.-
Verwenden Sie das nachfolgende
nodeConfig.yaml-Beispiel, wenn Sie AWS-SSM-Hybridaktivierungen für Ihren On-Premises-Anmeldeinformationsanbieter verwenden.-
Ersetzen Sie
CLUSTER_NAMEmit dem Namen Ihres Clusters. -
Ersetzen Sie
AWS_REGIONmit der AWS-Region, in der Ihr Cluster gehostet wird. Beispiel,us-west-2. -
Ersetzen Sie
ACTIVATION_CODEdurch den Aktivierungscode, den Sie beim Erstellen Ihrer AWS-SSM-Hybridaktivierung erhalten haben. Weitere Informationen finden Sie unter Vorbereitung der Anmeldeinformationen für Hybridknoten. -
Ersetzen Sie
ACTIVATION_IDdurch die Aktivierungs-ID, die Sie beim Erstellen Ihrer AWS-SSM-Hybridaktivierung erhalten haben. Sie können diese Informationen von der AWS-Systems-Manager-Konsole oder über denaws ssm describe-activations-Befehl der AWS-CLI abrufen.apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: cluster: name: CLUSTER_NAME region: AWS_REGION hybrid: ssm: activationCode: ACTIVATION_CODE activationId: ACTIVATION_ID
-
-
Verwenden Sie das nachfolgende
nodeConfig.yaml-Beispiel, wenn Sie AWS IAM Roles Anywhere für Ihren On-Premises-Anmeldeinformationsanbieter verwenden.-
Ersetzen Sie
CLUSTER_NAMEmit dem Namen Ihres Clusters. -
Ersetzen Sie
AWS_REGIONmit der AWS-Region, in der Ihr Cluster gehostet wird. Beispiel,us-west-2. -
Ersetzen Sie
NODE_NAMEdurch 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 verwendetenodeNamedarf nicht länger als 64 Zeichen sein. -
Ersetzen Sie
TRUST_ANCHOR_ARNdurch die ARN des Trust Anchors, den Sie in den Schritten zum Vorbereiten der Anmeldeinformationen für Hybridknoten konfiguriert haben. -
Ersetzen Sie
PROFILE_ARNdurch die ARN des Trust Anchors, den Sie in den Schritten für Vorbereitung der Anmeldeinformationen für Hybridknoten konfiguriert haben. -
Ersetzen Sie
ROLE_ARNdurch die ARN Ihrer IAM-Rolle für Hybridknoten. -
Ersetzen Sie
CERTIFICATE_PATHdurch den Pfad auf Ihrer Festplatte zu Ihrem Knotenzertifikat. Wenn Sie keinen Pfad angeben, wird standardmäßig/etc/iam/pki/server.pemverwendet. -
Ersetzen Sie
KEY_PATHdurch den Pfad auf Ihrer Festplatte zu Ihrem privaten Zertifikatsschlüssel. Wenn Sie keinen Pfad angeben, wird standardmäßig/etc/iam/pki/server.keyverwendet.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
-
-
-
Führen Sie den
nodeadm init-Befehl mit IhremnodeConfig.yamlaus, 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.