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 auf, 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.
Selbstverwaltete Amazon-Linux-Knoten erstellen
Dieses Thema beschreibt Hinweise zum Starten von Auto-Scaling-Gruppen von Linux-Knoten, die mit Ihrem Amazon-EKS-Cluster registriert sind. Nachdem die Knoten dem Cluster beigetreten sind, können Sie Kubernetes-Anwendungen darin bereitstellen. Sie können auch selbstverwaltete Amazon Linux-Knoten mit eksctl oder dem AWS-Managementkonsole starten. Informationen dazu, wie Sie Knoten auf AWS Outposts starten müssen, finden Sie unterAmazon Linux-Knoten auf AWS Outposts erstellen.
-
Ein vorhandener Amazon-EKS-Cluster. Informationen zum Bereitstellen finden Sie unter Amazon-EKS-Cluster erstellen. Wenn Sie Subnetze in der AWS Region haben, in der Sie AWS Outposts, AWS Wavelength oder AWS Local Zones aktiviert haben, dürfen diese Subnetze bei der Erstellung Ihres Clusters nicht weitergegeben worden sein.
-
Eine vorhandene IAM-Rolle, die von den Knoten verwendet werden soll. Informationen zum Erstellen finden Sie unter Amazon-EKS-Knoten-IAM-Rolle. Wenn diese Rolle keine der beiden Richtlinien für die VPC CNI enthält, ist die folgende separate Rolle für die VPC-CNI-Pods erforderlich.
-
(Optional, aber empfohlen) Das Amazon-VPC-CNI-Plugin für Kubernetes-Add-On, konfiguriert mit einer eigenen IAM-Rolle, der die erforderliche IAM-Richtlinie zugeordnet ist. Weitere Informationen finden Sie unter Konfiguration des Amazon-VPC-CNI-Plugins für die Verwendung von IRSA.
-
Vertrautheit mit den unter Wählen Sie einen optimalen EC2 Amazon-Node-Instance-Typ aufgeführten Überlegungen. Je nachdem, welchen Instance-Typ Sie wählen, kann es zusätzliche Voraussetzungen für Ihren Cluster und Ihre VPC geben.
Sie können selbstverwaltete Linux-Knoten mit einer der folgenden Optionen starten:
eksctl
Selbstverwaltete Linux-Knoten mithilfe der eksctl starten
-
Installieren Sie Version
0.215.0oder höher des auf Ihrem Gerät installierteneksctlBefehlszeilentools oder AWS CloudShell. Informationen zum Installieren und Aktualisieren voneksctlfinden Sie in der Dokumentation zueksctlunter Installation. -
(Optional) Wenn die verwaltete IAM-Richtlinie AmazonEKS_CNI_Policy Ihrer IAM-Rolle des Amazon-EKS-Knoten zugeordnet ist, empfehlen wir, sie stattdessen einer IAM-Rolle zuzuweisen, die Sie dem Kubernetes-Servicekonto
aws-nodezuordnen. Weitere Informationen finden Sie unter Konfiguration des Amazon-VPC-CNI-Plugins für die Verwendung von IRSA. -
Der folgende Befehl erstellt eine Knotengruppe in einem bestehenden Cluster. Ersetzen Sie
al-nodesdurch einen Namen für Ihre Knotengruppe. 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. Ersetzen Siemy-clustermit dem Namen Ihres Clusters. 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, in dem Sie den Cluster erstellen, eindeutig sein. Ersetzen Sie den Rest derexample valuedurch Ihre eigenen Werte. Die Knoten werden standardmäßig mit derselben Kubernetes-Version wie die Steuerungsebene erstellt.Bevor Sie einen Wert für auswählen
--node-type, lesen Sie den Artikel Wählen Sie einen optimalen EC2 Amazon-Node-Instance-Typ.my-keyErsetzen Sie es durch den Namen Ihres EC2 Amazon-Schlüsselpaars oder öffentlichen Schlüssels. Dieser Schlüssel wird für den SSH-Zugriff zu Ihren Knoten verwendet, nachdem diese gestartet wurden. Wenn Sie noch kein EC2 Amazon-Schlüsselpaar haben, können Sie eines in der erstellen AWS-Managementkonsole. Weitere Informationen finden Sie unter EC2 Amazon-Schlüsselpaare im EC2 Amazon-Benutzerhandbuch.Erstellen Sie Ihre Knoten-Gruppe mit dem folgenden Befehl.
Wichtig
Wenn Sie eine Knotengruppe in AWS Outposts-, Wavelength- oder Local Zone-Subnetzen bereitstellen möchten, gibt es zusätzliche Überlegungen:
-
Die Subnetze dürfen beim Erstellen des Clusters nicht übergeben worden sein.
-
Sie müssen die Knotengruppe mit einer Konfigurationsdatei erstellen, die die Subnetze und
volumeTypeangibt. Weitere Informationen dazu finden Sie unter Verwenden von Config-Dateien: gp2 und im Config-Datei-Schema in der eksctl-Dokumentation.
eksctl create nodegroup \ --cluster my-cluster \ --name al-nodes \ --node-type t3.medium \ --nodes 3 \ --nodes-min 1 \ --nodes-max 4 \ --ssh-access \ --managed=false \ --ssh-public-key my-keyZum Bereitstellen einer Knotengruppe, die:
-
kann Pods eine deutlich höhere Anzahl von IP-Adressen zuweisen als die Standardkonfiguration, siehe Zuweisung weiterer IP-Adressen mit Präfixen zu Amazon-EKS-Knoten.
-
kann
IPv4-Adressen an Pods aus einem anderen CIDR-Block als dem der Instance zuweisen, siehe Bereitstellung von Pods in alternativen Subnetzen mit benutzerdefiniertem Netzwerk. -
kann
IPv6-Adressen an Pods und Services zuweisen, siehe Erfahren Sie mehr über IPv6 Adressen für Cluster, Pods und Dienste. -
hat keinen ausgehenden Internetzugriff, siehe Bereitstellung privater Cluster mit eingeschränktem Internetzugang.
Geben Sie den folgenden Befehl ein, um eine vollständige Liste aller verfügbaren Optionen und Standardwerte anzuzeigen.
eksctl create nodegroup --helpSollten Knoten nicht in den Cluster aufgenommen werden können, finden Sie weitere Informationen unter Knoten können nicht mit dem Cluster verknüpft werden im Kapitel zur Fehlerbehebung.
Eine Beispielausgabe sieht wie folgt aus. Mehrere Zeilen werden ausgegeben, während die Knoten erstellt werden. Die letzte Ausgabezeile ähnelt der folgenden Beispielzeile.
[✔] created 1 nodegroup(s) in cluster "my-cluster"
-
-
(Optional) Eine Beispielanwendung in Linux bereitstellen Stellen Sie eine Beispielanwendung bereit, um Ihren Cluster und Ihre Linux-Worker-Knoten zu testen.
-
Wir empfehlen, den Pod-Zugriff auf das IMDS zu blockieren, wenn die folgenden Bedingungen erfüllt sind:
-
Sie planen, allen Ihren Kubernetes-Servicekonten IAM-Rollen zuzuweisen, damit Pods nur die Mindestberechtigungen haben, die sie benötigen.
-
Keine Pods im Cluster benötigen aus anderen Gründen Zugriff auf den Amazon EC2 Instance Metadata Service (IMDS), z. B. zum Abrufen der aktuellen AWS Region.
Weitere Informationen finden Sie unter Beschränken Sie den Zugriff auf das Instance-Profil, das dem Worker-Knoten zugewiesen ist
. -
AWS-Managementkonsole
Schritt 1: Selbstverwaltete Linux-Knoten mit AWS-Managementkonsole starten
-
Laden Sie die neueste Version der AWS CloudFormation Vorlage herunter.
curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2025-11-26/amazon-eks-nodegroup.yaml -
Warten Sie, bis der Status des Clusters als
ACTIVEangezeigt wird. Wenn Sie Ihre Knoten starten, bevor der Cluster aktiv ist, werden die Knoten nicht mit dem Cluster registriert und Sie müssen sie neu starten. -
Öffnen Sie die AWS CloudFormation -Konsole
. -
Wählen Sie Create stack (Stack erstellen) und dann With new resources (standard) (Mit neuen Ressourcen [Standard]) aus.
-
Wählen Sie für Specify template (Vorlage festlegen) Upload a template file (Vorlagendatei hochladen) aus und wählen Sie dann Choose file (Datei wählen).
-
Wählen Sie die heruntergeladene
amazon-eks-nodegroup.yaml-Datei aus. -
Klicken Sie auf Weiter.
-
Geben Sie auf der Seite Specify stack details (Stack-Details angeben) die folgenden Parameter ein und klicken Sie dann auf Next (Weiter):
-
Stack-Name: Wählen Sie einen Stack-Namen für Ihren AWS CloudFormation Stack. Sie können ihn beispielsweise
my-cluster-nodesnennen. 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, in dem Sie den Cluster erstellen, eindeutig sein. -
ClusterName: Geben Sie den Namen ein, den Sie bei der Erstellung Ihres Amazon EKS-Clusters verwendet haben. Dieser Name muss exakt mit dem Cluster-Namen übereinstimmen, andernfalls werden Ihre Knoten dem Cluster nicht beitreten.
-
ClusterControlPlaneSecurityGroup: Wählen Sie den SecurityGroupsWert aus der AWS CloudFormation Ausgabe aus, die Sie bei der Erstellung Ihrer VPC generiert haben.
Die folgenden Schritte zeigen einen Vorgang zum Abrufen der entsprechenden Gruppe.
-
Öffnen Sie die Amazon-EKS-Konsole
. -
Wählen Sie den Namen des Clusters.
-
Wählen Sie die Registerkarte Network (Network) aus.
-
Verwenden Sie den Wert Zusätzliche Sicherheitsgruppen als Referenz, wenn Sie aus der ClusterControlPlaneSecurityGroupDropdownliste auswählen.
-
-
ApiServerEndpoint: Geben Sie den API-Server-Endpunkt für Ihren EKS-Cluster ein. Dies finden Sie im Abschnitt „Details“ der EKS-Cluster-Konsole
-
CertificateAuthorityData: Geben Sie die Base64-kodierten Zertifizierungsstellendaten ein, die Sie auch im Abschnitt „Details“ der EKS-Cluster-Konsole finden.
-
ServiceCidr: Geben Sie den CIDR-Bereich ein, der für die Zuweisung von IP-Adressen zu Kubernetes-Diensten innerhalb des Clusters verwendet wird. Dieser befindet sich auf der Registerkarte „Netzwerk“ der EKS-Cluster-Konsole.
-
AuthenticationMode: Wählen Sie den im EKS-Cluster verwendeten Authentifizierungsmodus aus, indem Sie auf der Registerkarte „Zugriff“ in der EKS-Cluster-Konsole nachsehen.
-
NodeGroupName: Geben Sie einen Namen für Ihre Knotengruppe ein. Dieser Name kann zu einem späteren Zeitpunkt zum Identifizieren der Auto-Scaling-Knotengruppe verwendet werden, die für Ihre Knoten erstellt wurde. 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.
-
NodeAutoScalingGroupMinSize: Geben Sie die Mindestanzahl von Knoten ein, auf die Ihre Auto Scaling Scaling-Gruppe für Knoten skalieren kann.
-
NodeAutoScalingGroupDesiredCapacity: Geben Sie die gewünschte Anzahl von Knoten ein, auf die bei der Erstellung Ihres Stacks skaliert werden soll.
-
NodeAutoScalingGroupMaxSize: Geben Sie die maximale Anzahl von Knoten ein, auf die Ihre Auto Scaling Scaling-Gruppe für Knoten skalieren kann.
-
NodeInstanceType: Wählen Sie einen Instance-Typ für Ihre Knoten. Weitere Informationen finden Sie unter Auswahl eines optimalen Amazon-EC2-Knoten-Instance-Typs.
-
NodeImageIdSSMParam: Vorab mit dem Amazon EC2 Systems Manager Manager-Parameter eines kürzlich von Amazon EKS optimierten Amazon Linux 2023 AMI für eine variable Kubernetes-Version gefüllt. Um eine andere Kubernetes-Nebenversion zu verwenden, die von Amazon EKS unterstützt wird, ersetzen Sie
1.XXdurch eine andere unterstützte Version. Wir empfehlen, dieselbe Kubernetes-Version wie Ihr Cluster anzugeben.Sie können es auch
amazon-linux-2023durch einen anderen AMI-Typ ersetzen. Weitere Informationen finden Sie unter Rufen Sie das empfohlene Amazon Linux AMI ab IDs.Anmerkung
Die Amazon EKS-Knoten AMIs basieren auf Amazon Linux. Sie können Sicherheits- oder Datenschutzereignisse für Amazon Linux 2023 im Amazon Linux Security Center
verfolgen oder den zugehörigen RSS-Feed abonnieren. Sicherheits- oder Datenschutzereignisse enthalten eine Übersicht über das Problem, welche Pakete betroffen sind und wie Sie Ihre Instances aktualisieren, um das Problem zu beheben. -
NodeImageId: (Optional) Wenn Sie Ihr eigenes benutzerdefiniertes AMI (anstelle eines für Amazon EKS optimierten AMI) verwenden, geben Sie eine Knoten-AMI-ID für Ihre AWS Region ein. Wenn Sie hier einen Wert angeben, überschreibt dieser alle Werte im NodeImageIdSSMParamFeld.
-
NodeVolumeSize: Geben Sie eine Root-Volume-Größe für Ihre Knoten in GiB an.
-
NodeVolumeType: Geben Sie einen Root-Volume-Typ für Ihre Knoten an.
-
KeyName: Geben Sie den Namen eines Amazon EC2 SSH-Schlüsselpaars ein, mit dem Sie nach dem Start über SSH eine Verbindung zu Ihren Knoten herstellen können. Wenn Sie noch kein EC2 Amazon-Schlüsselpaar haben, können Sie eines in der erstellen AWS-Managementkonsole. Weitere Informationen finden Sie unter EC2 Amazon-Schlüsselpaare im EC2 Amazon-Benutzerhandbuch.
-
VpcId: Geben Sie die ID für die VPC ein, die Sie erstellt haben.
-
Subnetze: Wählen Sie die Subnetze aus, die Sie für Ihre VPC erstellt haben. Wenn Sie Ihre VPC anhand der unter Erstellen einer Amazon VPC für Ihren Amazon-EKS-Cluster beschriebenen Schritte erstellt haben, geben Sie nur die privaten Subnetze innerhalb der VPC an, in denen Ihre Knoten gestartet werden sollen. Sie können sehen, welche Subnetze privat sind, indem Sie den jeweiligen Subnetzlink in der Registerkarte Networking (Netzwerk) Ihres Clusters öffnen.
Wichtig
-
Wenn es sich bei einem oder einigen der Subnetze um öffentliche Subnetze handelt, muss die Einstellung für die automatische Zuweisung öffentlicher IP-Adressen aktiviert sein. Wenn die Einstellung für das öffentliche Subnetz nicht aktiviert ist, wird allen Knoten, die Sie in diesem öffentlichen Subnetz bereitstellen, keine öffentliche IP-Adresse zugewiesen und sie können nicht mit dem Cluster oder anderen Diensten kommunizieren. AWS Wenn das Subnetz vor dem 26. März 2020 mithilfe einer der Amazon AWS CloudFormation EKS-VPC-Vorlagen oder mithilfe
eksctlvon bereitgestellt wurde, ist die automatische Zuweisung öffentlicher IP-Adressen für öffentliche Subnetze deaktiviert. Informationen dazu, wie Sie die Zuweisung öffentlicher IP-Adressen für ein Subnetz aktivieren, finden Sie unter Ändern des Attributs für die öffentliche IPv4 Adressierung für Ihr Subnetz. Wenn der Knoten in einem privaten Subnetz bereitgestellt wird, kann er über ein NAT-Gateway mit dem Cluster und anderen AWS Diensten kommunizieren. -
Wenn die Subnetze keinen Internetzugang haben, stellen Sie sicher, dass Sie die Überlegungen und zusätzlichen Schritte unter Bereitstellen privater Cluster mit eingeschränktem Internetzugang kennen.
-
Wenn Sie AWS Outposts-, Wavelength- oder Local Zone-Subnetze auswählen, dürfen die Subnetze bei der Erstellung des Clusters nicht übergeben worden sein.
-
-
-
Treffen Sie die gewünschte Auswahl auf der Seite Configure stack options (Stackoptionen konfigurieren) und wählen Sie dann Next (Weiter) aus.
-
Aktivieren Sie das Kontrollkästchen links neben Ich bestätige, dass AWS CloudFormation möglicherweise IAM-Ressourcen erstellt werden. , und wählen Sie dann Stapel erstellen aus.
-
Wenn Ihr Stack fertig erstellt wurde, wählen Sie ihn in der Konsole aus und klicken Sie auf Outputs (Ausgaben). Wenn Sie den
EKS API and ConfigMapAuthentifizierungsmodusEKS APIoder verwenden, ist dies der letzte Schritt. -
Wenn Sie den
ConfigMapAuthentifizierungsmodus verwenden, notieren Sie den NodeInstanceRolefür die Knotengruppe, die erstellt wurde.
Schritt 2: Knoten, die Ihrem Cluster beitreten sollen, aktivieren
Anmerkung
Die folgenden zwei Schritte sind nur erforderlich, wenn Sie den Configmap-Authentifizierungsmodus innerhalb des EKS-Clusters verwenden. Wenn Sie Knoten in einer privaten VPC ohne ausgehenden Internetzugang gestartet haben, stellen Sie außerdem sicher, dass Knoten Ihrem Cluster von der VPC aus beitreten können.
-
Überprüfen Sie, ob Sie bereits über eine
aws-authConfigMapverfügen.kubectl describe configmap -n kube-system aws-auth -
Wenn eine
aws-authConfigMapangezeigt wird, aktualisieren Sie sie nach Bedarf.-
Öffnen Sie
ConfigMapzum Bearbeiten.kubectl edit -n kube-system configmap/aws-auth -
Fügen Sie nach Bedarf einen neuen
mapRoles-Eintrag hinzu. Setzen Sie denrolearnWert auf den NodeInstanceRoleWert, den Sie im vorherigen Verfahren aufgezeichnet haben.[...] data: mapRoles: | - rolearn: <ARN of instance role (not instance profile)> username: system:node:{{EC2PrivateDNSName}} groups: - system:bootstrappers - system:nodes [...] -
Speichern Sie die Datei und beenden Sie den Text-Editor.
-
-
Wenn die Fehlermeldung
Error from server (NotFound): configmaps "aws-auth" not foundangezeigt wird, wenden Sie die standardmäßigeConfigMapan.-
Laden Sie die Konfigurationszuordnung herunter.
curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/aws-auth-cm.yaml -
Stellen Sie in der
aws-auth-cm.yamlDatei denrolearnWert auf den NodeInstanceRoleWert ein, den Sie im vorherigen Verfahren aufgezeichnet haben. Hierzu können Sie einen Texteditor verwenden odermy-node-instance-roleersetzen und den folgenden Befehl ausführen:sed -i.bak -e 's|<ARN of instance role (not instance profile)>|my-node-instance-role|' aws-auth-cm.yaml -
Wenden Sie die Konfiguration an. Die Ausführung dieses Befehls kann einige Minuten dauern.
kubectl apply -f aws-auth-cm.yaml
-
-
Sehen Sie sich den Status Ihrer Knoten an und warten Sie, bis diese in den
Ready-Status eintreten.kubectl get nodes --watchGeben Sie
Ctrl+Cein, um zum Shell-Prompt zurückzukehren.Anmerkung
Wenn Sie Autorisierungs- oder Ressourcenfehler erhalten, finden Sie weitere Informationen unter Nicht autorisiert oder Zugriff verweigert (kubectl) im Thema zur Fehlerbehebung.
Sollten Knoten nicht in den Cluster aufgenommen werden können, finden Sie weitere Informationen unter Knoten können nicht mit dem Cluster verknüpft werden im Kapitel zur Fehlerbehebung.
-
(Nur GPU-Knoten) Wenn Sie einen GPU-Instance-Typ und das für Amazon EKS optimierte beschleunigte AMI ausgewählt haben, müssen Sie das NVIDIA-Geräte-Plug-In für Kubernetes
als a DaemonSet auf Ihrem Cluster anwenden. Ersetzen Sie es vX.X.Xdurch die gewünschte s-device-pluginNVIDIA/K8-Version, bevor Sie den folgenden Befehl ausführen. kubectl apply -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/vX.X.X/deployments/static/nvidia-device-plugin.yml
Schritt 3: Zusätzliche Aktionen
-
(Optional) Eine Beispielanwendung in Linux bereitstellen Stellen Sie eine Beispielanwendung bereit, um Ihren Cluster und Ihre Linux-Worker-Knoten zu testen.
-
(Optional) Wenn die von AmazonEKS_CNI_Policy verwaltete IAM-Richtlinie (wenn Sie einen
IPv4Cluster haben) oder dieAmazonEKS_CNI_IPv6_Policy(die Sie selbst erstellt haben, wenn Sie einenIPv6Cluster haben) mit Ihrer Amazon EKS-Knoten-IAM-Rolle verknüpft ist, empfehlen wir, sie stattdessen einer IAM-Rolle zuzuweisen, die Sie dem Kubernetes-Servicekonto zuordnen.aws-nodeWeitere Informationen finden Sie unter Konfiguration des Amazon-VPC-CNI-Plugins für die Verwendung von IRSA. -
Wir empfehlen, den Pod-Zugriff auf das IMDS zu blockieren, wenn die folgenden Bedingungen erfüllt sind:
-
Sie planen, allen Ihren Kubernetes-Servicekonten IAM-Rollen zuzuweisen, damit Pods nur die Mindestberechtigungen haben, die sie benötigen.
-
Keine Pods im Cluster benötigen aus anderen Gründen Zugriff auf den Amazon EC2 Instance Metadata Service (IMDS), z. B. zum Abrufen der aktuellen AWS Region.
Weitere Informationen finden Sie unter Beschränken Sie den Zugriff auf das Instance-Profil, das dem Worker-Knoten zugewiesen ist
. -