EKS-Hybridknoten - Eksctl-Benutzerhandbuch

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.

EKS-Hybridknoten

Einführung

AWS EKS führt Hybrid Nodes ein, eine neue Funktion, mit der Sie lokale und Edge-Anwendungen auf einer vom Kunden verwalteten Infrastruktur mit denselben AWS EKS-Clustern, Funktionen und Tools ausführen können, die Sie in der AWS-Cloud verwenden. AWS EKS Hybird Nodes bietet ein AWS-verwaltetes Kubernetes-Erlebnis in lokalen Umgebungen, damit Kunden die Ausführung von Anwendungen in lokalen, Edge- und Cloud-Umgebungen vereinfachen und standardisieren können. Lesen Sie mehr unter EKS Hybrid Nodes.

Um die Unterstützung dieser Funktion zu erleichtern, führt eksctl ein neues Top-Level-Feld mit dem Namen ein. remoteNetworkConfig Jede Konfiguration im Zusammenhang mit Hybridknoten muss über dieses Feld als Teil der Konfigurationsdatei eingerichtet werden; es gibt keine CLI-Flags-Gegenstücke. Darüber hinaus kann jede Remote-Netzwerkkonfiguration beim Start nur während der Clustererstellung eingerichtet und danach nicht aktualisiert werden. Das bedeutet, dass Sie bestehende Cluster nicht aktualisieren können, um Hybridknoten zu verwenden.

Im remoteNetworkConfig Abschnitt der Konfigurationsdatei können Sie die beiden Kernbereiche einrichten, wenn es darum geht, Remoteknoten mit Ihren EKS-Clustern zu verbinden: Netzwerke und Anmeldeinformationen.

Netzwerk

EKS Hybrid Nodes ist flexibel in Bezug auf Ihre bevorzugte Methode zur Verbindung Ihrer lokalen Netzwerke mit einer AWS-VPC. Es stehen mehrere dokumentierte Optionen zur Verfügung, darunter AWS Site-to-Site VPN und AWS Direct Connect, und Sie können die Methode wählen, die am besten zu Ihrem Anwendungsfall passt. Bei den meisten Methoden, die Sie wählen könnten, wird Ihre VPC entweder mit einem Virtual Private Gateway (VGW) oder einem Transit Gateway (TGW) verbunden. Wenn Sie sich darauf verlassen, dass eksctl eine VPC für Sie erstellt, konfiguriert eksctl im Rahmen Ihrer VPC auch alle netzwerkbezogenen Voraussetzungen, um die Kommunikation zwischen Ihrer EKS-Steuerebene und den Remote-Knoten zu erleichtern, d. h.

  • SG-Regeln für Eingang/Ausgang

  • Routen in den Routentabellen der privaten Subnetze

  • die VPC-Gateway-Verbindung zum angegebenen TGW oder VGW

Beispiel für eine Konfigurationsdatei:

remoteNetworkConfig: vpcGatewayID: tgw-xxxx # either VGW or TGW to be attached to your VPC remoteNodeNetworks: # eksctl will create, behind the scenes, SG rules, routes, and a VPC gateway attachment, # to facilitate communication between remote network(s) and EKS control plane, via the attached gateway - cidrs: ["10.80.146.0/24"] remotePodNetworks: - cidrs: ["10.86.30.0/23"]

Wenn Ihre bevorzugte Verbindungsmethode nicht die Verwendung eines TGW oder VGW beinhaltet, dürfen Sie sich nicht darauf verlassen, dass eksctl die VPC für Sie erstellt, sondern stattdessen eine bereits vorhandene bereitstellen. In diesem Zusammenhang: Wenn Sie eine bereits bestehende VPC verwenden, nimmt eksctl keine Änderungen daran vor, und es liegt in Ihrer Verantwortung, sicherzustellen, dass alle Netzwerkanforderungen erfüllt sind.

Anmerkung

eksctl richtet keine Netzwerkinfrastruktur außerhalb Ihrer AWS-VPC ein (d. h. jegliche Infrastruktur von VGW/TGW zu den Remote-Netzwerken)

Anmeldeinformationen

EKS-Hybridknoten verwenden den AWS IAM Authenticator und temporäre IAM-Anmeldeinformationen, die entweder von AWS SSM oder AWS IAM Roles Anywhere bereitgestellt werden, um sich beim EKS-Cluster zu authentifizieren. Ähnlich wie bei den selbstverwalteten Knotengruppen erstellt eksctl für Sie, sofern nicht anders angegeben, eine IAM-Rolle für Hybridknoten, die von den Remote-Knoten übernommen wird. Wenn Sie IAM Roles Anywhere als Ihren Anbieter für Anmeldeinformationen verwenden, richtet eksctl außerdem ein Profil und einen Vertrauensanker auf der Grundlage eines bestimmten Zertifizierungsstellenpakets ein, z. B. iam.caBundleCert

remoteNetworkConfig: iam: # the provider for temporary IAM credentials. Default is SSM. provider: IRA # the certificate authority bundle that serves as the root of trust, # used to validate the X.509 certificates provided by your nodes. # can only be set when provider is IAMRolesAnywhere. caBundleCert: xxxx

Der ARN der von eksctl erstellten Hybrid Nodes Role wird später beim Hinzufügen Ihrer Remote-Knoten zum Cluster benötigt, um Aktivierungen einzurichten NodeConfig und zu erstellen (falls Sie SSM verwenden). nodeadm Um ihn abzurufen, verwenden Sie:

aws cloudformation describe-stacks \ --stack-name eksctl-<CLUSTER_NAME>-cluster \ --query 'Stacks[].Outputs[?OutputKey==`RemoteNodesRoleARN`].[OutputValue]' \ --output text

In ähnlicher Weise können Sie, wenn Sie IAM Roles Anywhere verwenden, den ARN des Vertrauensankers und des von eksctl erstellten Anywhere-Profils abrufen und den vorherigen Befehl ändern, indem Sie ihn jeweils durch oder RemoteNodesRoleARN ersetzenRemoteNodesTrustAnchorARN. RemoteNodesAnywhereProfileARN

Wenn Sie bereits über eine IAM Roles Anywhere-Konfiguration verfügen oder SSM verwenden, können Sie eine IAM-Rolle für Hybridknoten über bereitstellen. remoteNetworkConfig.iam.roleARN Denken Sie daran, dass eksctl in diesem Szenario den Trust Anchor und das Anywhere-Profil nicht für Sie erstellt. z. B.

remoteNetworkConfig: iam: roleARN: arn:aws:iam::000011112222:role/HybridNodesRole

Um die Rolle einer Kubernetes-Identität zuzuordnen und die Remote-Knoten zu autorisieren, dem EKS-Cluster beizutreten, erstellt eksctl einen Zugriffseintrag mit der Hybrid Nodes IAM-Rolle als Haupt-ARN und vom Typ. d. h. HYBRID_LINUX

eksctl get accessentry --cluster my-cluster --principal-arn arn:aws:iam::000011112222:role/eksctl-my-cluster-clust-HybridNodesSSMRole-XiIAg0d29PkO --output json [ { "principalARN": "arn:aws:iam::000011112222:role/eksctl-my-cluster-clust-HybridNodesSSMRole-XiIAg0d29PkO", "kubernetesGroups": [ "system:nodes" ] } ]

Unterstützung für Add-Ons

Container Networking Interface (CNI): Das AWS VPC CNI kann nicht mit Hybridknoten verwendet werden. Die Kernfunktionen von Cilium und Calico werden für die Verwendung mit Hybridknoten unterstützt. Sie können Ihr CNI mit Tools Ihrer Wahl wie Helm verwalten. Weitere Informationen finden Sie unter Konfiguration eines CNI für Hybridknoten.

Anmerkung

Wenn Sie VPC CNI in Ihrem Cluster für Ihre selbst verwalteten oder EKS-verwalteten Knotengruppen installieren, müssen Sie v1.19.0-eksbuild.1 oder später verwenden, da dies eine Aktualisierung des Daemonsets des Add-ons beinhaltet, um es von der Installation auf Hybridknoten auszuschließen.

Weitere Referenzen