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.
Eine verwaltete Knotengruppe für Ihren Cluster erstellen
Dieses Thema beschreibt, wie Sie von Amazon EKS verwaltete Knotengruppen von Knoten starten können, die sich bei Ihrem Amazon-EKS-Cluster registrieren. Nachdem die Knoten dem Cluster beigetreten sind, können Sie Kubernetes-Anwendungen darin bereitstellen.
Wenn Sie zum ersten Mal eine von Amazon EKS verwaltete Knotengruppe starten, empfehlen wir Ihnen, stattdessen eine unserer Anleitungen unter Erste Schritte mit Amazon EKS zu befolgen. Diese Anleitungen bieten schrittweise Anleitungen zum Erstellen eines Amazon-EKS-Clusters mit Knoten.
Wichtig
-
Amazon-EKS-Knoten sind Standard-Amazon-EC2-Instances. Die Abrechnung erfolgt auf Grundlage der normalen Amazon-EC2-Preise. Weitere Informationen finden Sie unter Amazon EC2 – Preise
. -
Sie können keine verwalteten Knoten in einer AWS-Region erstellen, in der Sie AWS Outposts oder AWS Wavelength aktiviert haben. Sie könnenSelbstverwaltetes-Knoten. Weitere Informationen finden Sie unter Selbstverwaltete Amazon-Linux-Knoten erstellen, Selbstverwaltete Microsoft-Windows-Knoten erstellen und Selbstverwaltete Bottlerocket-Knoten erstellen. Sie können auch eine selbstverwaltete Amazon-Linux-Knotengruppe auf einem Outpost erstellen. Weitere Informationen finden Sie unter Erstellung von Amazon-Linux-Knoten in AWS Outposts.
-
Wenn Sie keine AMI-ID für die bootstrap.sh-Datei angeben, die in Amazon-EKS-optimiertem Linux oder Bottlerocket enthalten ist, erzwingen verwaltete Knotengruppen eine maximale Anzahl für den Wert von
maxPods. Für Instances mit weniger als 30 vCPUs beträgt die maximale Anzahl110. Für Instances mit mehr als 30 vCPUs wird die maximale Anzahl auf250erhöht. Diese Zahlen basieren auf Kubernetes-Skalierbarkeitsschwellenwertenund empfohlenen Einstellungen, die nach internen Tests des Amazon-EKS-Skalierbarkeitsteams empfohlen werden. Weitere Informationen finden Sie im Blogbeitrag Amazon VPC CNI plugin increases pods per node limits (VPC-CNI-Plugin von Amazon erhöht Grenzwerte für Pods pro Knoten).
-
Ein vorhandener Amazon-EKS-Cluster. Informationen zum Bereitstellen finden Sie unter Amazon-EKS-Cluster erstellen.
-
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 Auswahl eines optimalen Instance-Typ für Amazon-EC2-Knoten aufgeführten Überlegungen. Je nachdem, welchen Instance-Typ Sie wählen, kann es zusätzliche Voraussetzungen für Ihren Cluster und Ihre VPC geben.
-
Um eine von Windows verwaltete Knotengruppe hinzuzufügen, müssen Sie zunächst den Windows-Support für Ihren Cluster aktivieren. Weitere Informationen finden Sie unter Bereitstellung von Windows-Knoten in EKS-Clustern.
Sie können eine verwaltete Knotengruppe mit einer der folgenden Optionen erstellen:
eksctl
Verwaltete Knotengruppe mit eksctl erstellen
Für diesen Vorgang ist eksctl Version 0.214.0 oder höher erforderlich. Sie können Ihre -Version mit dem folgenden Befehl überprüfen:
eksctl version
Eine Installations- und Upgrade-Anleitung für eksctl finden Sie in der Dokumentation zu eksctl unter 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. -
Erstellen Sie eine verwaltete Knotengruppe mit oder ohne Verwendung einer benutzerdefinierten Startvorlage. Das manuelle Angeben einer Startvorlage ermöglicht eine bessere Anpassung einer Knotengruppe. Zum Beispiel kann es die Bereitstellung eines benutzerdefinierten AMI oder die Bereitstellung von Argumenten für das
boostrap.sh-Skript in einem für Amazon EKS optimierten AMI ermöglichen. Geben Sie den folgenden Befehl ein, um eine vollständige Liste aller verfügbaren Optionen und Standardwerte anzuzeigen.eksctl create nodegroup --helpErsetzen Sie im folgenden Befehl
my-clusterdurch den Namen Ihres Clusters und ersetzen Siemy-mngdurch den Namen Ihrer 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.Wichtig
Wenn Sie beim erstmaligen Erstellen einer verwalteten Knotengruppe keine benutzerdefinierte Startvorlage verwenden, sollten Sie später auch keine für die Knotengruppe verwenden. Wenn Sie keine benutzerdefinierte Startvorlage angegeben haben, generiert das System automatisch eine Startvorlage, die Sie nicht manuell ändern können. Das manuelle Ändern dieser automatisch generierten Startvorlage kann zu Fehlern führen.
Ohne Startvorlage
eksctl erstellt eine standardmäßige Amazon-EC2-Startvorlage in Ihrem Konto und stellt die Knotengruppe mithilfe einer Startvorlage bereit, die basierend auf den von Ihnen angegebenen Optionen erstellt wird. Bevor Sie einen Wert für --node-type festlegen, siehe Auswahl eines optimalen Amazon-EC2-Knoten-Instance-Typs.
Ersetzen Sie ami-family durch ein zulässiges Schlüsselwort. Weitere Informationen finden Sie unter Einrichtung der Knoten-AMI-Familieeksctl-Dokumentation. Ersetzen Sie my-key mit dem Namen Ihres Amazon-EC2-Schlüsselpaars oder öffentlichen Schlüssels. Dieser Schlüssel wird für den SSH-Zugriff zu Ihren Knoten verwendet, nachdem diese gestartet wurden.
Anmerkung
Für Windows aktiviert dieser Befehl SSH nicht. Stattdessen wird das Amazon-EC2-Schlüsselpaar mit der Instance verknüpft. Außerdem ermöglicht dies eine RDP-Verbindung mit der Instance.
Wenn Sie noch kein Amazon-EC2-Schlüsselpaar haben, können Sie eines in der AWS-Managementkonsole erstellen. Informationen zu Linux finden Sie unter Amazon-EC2-Schlüsselpaare und Linux-Instances im Benutzerhandbuch von Amazon EC2. Informationen zu Windows finden Sie unter Amazon-EC2-Schlüsselpaare und Windows-Instances im Benutzerhandbuch von Amazon EC2.
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), beispielsweise 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
Wenn Sie den Pod-Zugriff auf IMDS blockieren möchten, fügen Sie die --disable-pod-imds-Option dem folgenden Befehl hinzu.
eksctl create nodegroup \ --cluster my-cluster \ --region region-code \ --name my-mng \ --node-ami-family ami-family \ --node-type m5.large \ --nodes 3 \ --nodes-min 2 \ --nodes-max 4 \ --ssh-access \ --ssh-public-key my-key
Ihre Instances können Pods optional eine deutlich höhere Anzahl von IP-Adressen zuweisen, Pods aus einem anderen CIDR-Block als der Instance IP-Adressen zuweisen und in einem Cluster ohne Internetzugang bereitgestellt werden. Weitere Informationen dazu finden Sie unter Zuweisung weiterer IP-Adressen mit Präfixen zu Amazon-EKS-Knoten, Bereitstellung von Pods in alternativen Subnetzen mit benutzerdefiniertem Netzwerk und Bereitstellung privater Cluster mit eingeschränktem Internetzugang für weitere Optionen, die dem vorherigen Befehl hinzugefügt werden.
Verwaltete Knotengruppen berechnen und wenden einen einzelnen Wert für die maximale Anzahl von Pods an, die auf jedem Knoten Ihrer Knotengruppe ausgeführt werden können, basierend auf dem Instance-Typ. Wenn Sie eine Knotengruppe mit unterschiedlichen Instance-Typen erstellen, wird der kleinste Wert, der für alle Instance-Typen berechnet wird, als die maximale Anzahl von Pods angewendet, die für jeden Instance-Typ in der Knotengruppe ausgeführt werden können. Verwaltete Knotengruppen berechnen den Wert mithilfe des Skripts, auf das in den von Amazon EKS empfohlenen maximalen Pods für jeden Amazon-EC2-Instance-Typ verwiesen wird.
Mit einer Startvorlage
Die Startvorlage muss bereits vorhanden sein und die in den Grundlagen der Startvorlagenkonfiguration angegebenen Anforderungen erfüllen. 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), beispielsweise 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
Wenn Sie den Pod-Zugriff auf IMDS blockieren möchten, geben Sie die erforderlichen Einstellungen in der Startvorlage an.
-
Kopieren Sie den folgenden Inhalt auf Ihr Gerät. Ersetzen Sie die
Beispielwerteund führen Sie dann den geänderten Befehl aus, um dieeks-nodegroup.yaml-Datei zu erstellen. Mehrere Einstellungen, die Sie bei der Bereitstellung ohne Startvorlage angeben, werden in die Startvorlage verschoben. Wenn Sie keineversionangeben, wird die Standardversion verwendet.cat >eks-nodegroup.yaml <<EOF apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: my-cluster region: region-code managedNodeGroups: - name: my-mng launchTemplate: id: lt-id version: "1" EOFEine vollständige Liste der
eksctlKonfigurationsdateieinstellungen finden Sie unter Konfigurationsdateischemain der eksctlDokumentation. Ihre Instances können Pods optional eine deutlich höhere Anzahl von IP-Adressen zuweisen, Pods IP-Adressen aus einem anderen CIDR-Block als dem der Instance zuweisen und in einem Cluster ohne ausgehenden Internetzugang bereitgestellt werden. Weitere Informationen dazu finden Sie unter Zuweisung weiterer IP-Adressen mit Präfixen zu Amazon-EKS-Knoten, Bereitstellung von Pods in alternativen Subnetzen mit benutzerdefiniertem Netzwerk und Bereitstellung privater Cluster mit eingeschränktem Internetzugang für zusätzliche Optionen, die der Konfigurationsdatei hinzugefügt werden.Wenn Sie in Ihrer Startvorlage keine AMI-ID angegeben haben, berechnet „verwaltete Knotengruppen“ einen einzelnen Wert für die maximale Anzahl von Pods, die auf jedem Knoten Ihrer Knotengruppe ausgeführt werden können, basierend auf Instance-Typ. Wenn Sie eine Knotengruppe mit unterschiedlichen Instance-Typen erstellen, wird der kleinste Wert, der für alle Instance-Typen berechnet wird, als die maximale Anzahl von Pods angewendet, die für jeden Instance-Typ in der Knotengruppe ausgeführt werden können. Verwaltete Knotengruppen berechnen den Wert mithilfe des Skripts, auf das in den von Amazon EKS empfohlenen maximalen Pods für jeden Amazon-EC2-Instance-Typ verwiesen wird.
Wenn Sie eine AMI-ID in Ihrer Startvorlage angegeben haben, geben Sie die maximale Anzahl von Pods an, die auf jedem Knoten Ihrer Knotengruppe ausgeführt werden können, wenn Sie Benutzerdefinierte Netzwerke verwenden oder die Anzahl der Ihrer Instance zugewiesenen IP-Adressen erhöhen möchten. Weitere Informationen finden Sie unter Von Amazon EKS empfohlene maximale Pods für jeden Amazon-EC2-Instance-Typ.
-
Stellen Sie die Knotengruppe mit dem folgenden Befehl bereit.
eksctl create nodegroup --config-file eks-nodegroup.yaml
AWS-Managementkonsole
Verwaltete Knotengruppe mithilfe von AWS-Managementkonsole erstellen
-
Warten Sie, bis der Status des Clusters als
ACTIVEangezeigt wird. Sie können keine verwaltete Knotengruppe für einen Cluster erstellen, der noch nichtACTIVEist. -
Öffnen Sie die Amazon-EKS-Konsole
. -
Wählen Sie den Namen des Clusters aus, in dem Sie eine verwaltete Knotengruppe erstellen möchten.
-
Wählen Sie die Registerkarte Compute (Datenverarbeitung) aus.
-
Wählen Sie Add Node Group (Knotengruppe hinzufügen) aus.
-
Geben Sie auf der Seite Configure node group (Knotengruppe konfigurieren) die Parameter entsprechend aus, und wählen Sie dann Next (Weiter).
-
Name – Geben Sie einen eindeutigen Namen für die verwaltete Knotengruppe ein. 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.
-
Node IAM role (Knoten-IAM-Rolle) – Wählen Sie die Knoten-Instance-Rolle aus, die mit Ihrer Knotengruppe verwendet werden soll. Weitere Informationen finden Sie unter Amazon-EKS-Knoten-IAM-Rolle.
Wichtig
-
Sie können nicht dieselbe Rolle verwenden, die zum Erstellen von Clustern verwendet wurde.
-
Es wird empfohlen, eine Rolle zu verwenden, die derzeit nicht von einer selbstverwalteten Knotengruppe genutzt wird. Andernfalls planen Sie die Verwendung mit einer neuen selbstverwalteten Knotengruppe. Weitere Informationen finden Sie unter Verwaltete Knotengruppe aus Ihrem Cluster löschen.
-
Startvorlage verwenden – (Optional) Wählen Sie aus, ob Sie eine bestehende Startvorlage verwenden möchten. Wählen Sie einen Namen für die Startvorlage aus. Wählen Sie dann eine Launch template version (Startvorlagenversion) aus. Wenn Sie keine Version auswählen, verwendet Amazon EKS die Standardversion der Vorlage. Startvorlagen ermöglichen eine stärkere Anpassung Ihrer Knotengruppe, z. B. die Bereitstellung eines benutzerdefinierten AMI, die Zuordnung einer deutlich höheren Anzahl von IP-Adressen zu Pods, die Zuordnung von IP-Adressen zu Pods aus einem anderen CIDR-Block als dem der Instance und die Bereitstellung von Knoten in einem Cluster ohne ausgehenden Internetzugang. Weitere Informationen finden Sie unter Zuweisung weiterer IP-Adressen mit Präfixen zu Amazon-EKS-Knoten, Bereitstellung von Pods in alternativen Subnetzen mit benutzerdefiniertem Netzwerk und Bereitstellung privater Cluster mit eingeschränktem Internetzugang.
Die Startvorlage muss die Anforderungen unter Verwaltete Knoten mit Startvorlagen anpassen erfüllen Wenn Sie keine eigene Startvorlage verwenden, erstellt die Amazon-EKS-API eine standardmäßige Amazon-EC2-Startvorlage in Ihrem Konto und stellt die Knotengruppe mithilfe der Standard-Startvorlage bereit.
Wenn Sie IAM-Rollen für Servicekonten implementieren, weisen Sie die erforderlichen Berechtigungen direkt jedem Pod zu, der Zugriff auf AWS-Services verwendet und keine Pods in Ihrem Cluster aus anderen Gründen Zugriff auf IMDS benötigen, z. B. das Abrufen der aktuellen AWS-Region, können Sie den Zugriff auf IMDS auch für Pods deaktivieren, die kein Host-Netzwerk in einer Startvorlage verwenden. Weitere Informationen finden Sie unter Beschränken Sie den Zugriff auf das Instance-Profil, das dem Worker-Knoten zugewiesen ist
. -
Kubernetes labels – (Optional) Sie können Kubernetes-Labels auf die Knoten in Ihrer verwalteten Knotengruppe anwenden.
-
Kubernetes-Taints – (Optional) Sie können Kubernetes-Taints auf die Knoten in Ihrer verwalteten Knotengruppe anwenden. Die verfügbaren Optionen im Menü Effect (Effekt) sind
NoSchedule,NoExecuteundPreferNoSchedule. Weitere Informationen finden Sie unter Anleitung: Verhindern, dass Pods auf bestimmten Knoten geplant werden. -
Tags – (Optional) Sie können wählen, ob Sie Ihre mit Amazon EKS verwaltete Knotengruppe taggen möchten. Diese Tags werden nicht an andere Ressourcen in der Knotengruppe, z. B. Auto-Scaling-Gruppen oder Instances, bekannt gegeben. Weitere Informationen finden Sie unter Organisation von Amazon-EKS-Ressourcen mit Tags.
-
-
Geben Sie auf der Seite Set compute configuration (Datenverarbeitung-Konfiguration einrichten) die Parameter entsprechend ein, und wählen Sie dann Next (Weiter).
-
AMI-Typ – Wählen Sie einen AMI-Typ aus. Wenn Sie Arm-Instances bereitstellen, lesen Sie vor der Bereitstellung unbedingt die Hinweise zu den für Amazon EKS optimierten Arm-Amazon-Linux-AMIs.
Wenn Sie auf der vorherigen Seite eine Startvorlage angegeben haben und in der Startvorlage ein AMI angegeben haben, können Sie keinen Wert auswählen. Der Wert aus der Vorlage wird angezeigt. Das in der Vorlage angegebene AMI muss die Anforderungen unter Angabe eines AMI erfüllen.
-
Capacity type (Kapazitätstyp) — Wählen Sie einen Kapazitätstyp aus. Weitere Informationen zur Auswahl eines Kapazitätstyps finden Sie unter Kapazitätstypen für verwaltete Knotengruppen. Es ist nicht möglich, verschiedene Kapazitätstypen innerhalb derselben Knotengruppe zu mischen. Wenn Sie beide Kapazitätstypen verwenden möchten, erstellen Sie separate Knotengruppen mit jeweils eigenen Kapazitäts- und Instance-Typen. Informationen zum Bereitstellen und Skalieren von GPU-beschleunigten Worker-Knoten finden Sie unter Reservieren von GPUs für verwaltete Knotengruppen.
-
Instance-Typen- Standardmäßig wird ein oder mehrere Instance-Typen angegeben. Um einen Standard-Instance-Typ zu entfernen, wählen Sie
Xauf der rechten Seite des Instance-Typs. Wählen Sie den Instance-Typ aus, der in der verwalteten Knotengruppe verwendet werden soll. Weitere Informationen finden Sie unter Auswahl eines optimalen Amazon-EC2-Knoten-Instance-Typs.Die Konsole zeigt eine Reihe von häufig verwendeten Instance-Typen an. Wenn Sie eine verwaltete Knotengruppe mit einem Instance-Typ erstellen müssen, der nicht angezeigt wird, verwenden Sie
eksctl, die AWS CLI, AWS CloudFormation oder ein SDK, um die Knotengruppe zu erstellen. Wenn Sie auf der vorherigen Seite eine Startvorlage angegeben haben, können Sie keinen Wert auswählen, da der Instance-Typ in der Startvorlage angegeben werden muss. Der Wert aus der Startvorlage wird angezeigt. Wenn Sie die OptionSpot-InstancesfürCapacity type (Kapazitätstyp)Wir empfehlen Ihnen, mehrere Instance-Typen anzugeben, um die Verfügbarkeit zu verbessern. -
Datenträgergröße – Geben Sie die Datenträgergröße (in GiB) ein, die für das Root-Volume des Knotens verwendet werden soll.
Wenn Sie auf der vorherigen Seite eine Startvorlage angegeben haben, können Sie keinen Wert auswählen, da dieser in der Startvorlage angegeben werden muss.
-
Desired size (Gewünschte Größe) – Geben Sie die aktuelle Anzahl von Knoten an, die die verwaltete Knotengruppe beim Start beibehalten soll.
Anmerkung
Amazon EKS skaliert Ihre Knotengruppe nicht automatisch nach oben oder unten. Sie können jedoch den Kubernetes Cluster Autoscaler so konfigurieren, dass er dies für Sie übernimmt. Weitere Informationen finden Sie unter Cluster Autoscaler on AWS
. -
Minimum size (Mindestgröße) – Geben Sie die Mindestanzahl von Knoten an, auf die die verwaltete Knotengruppe skaliert werden kann.
-
Maximum size (Maximale Größe) – Geben Sie die maximale Anzahl von Knoten an, auf die die verwaltete Knotengruppe skaliert werden kann.
-
Konfiguration der Knotengruppe aktualisieren— (Optional) Sie können die Anzahl oder den Prozentsatz der Knoten auswählen, die parallel aktualisiert werden sollen. Diese Knoten werden während der Aktualisierung nicht verfügbar sein. FürMaximal nicht verfügbarWählen Sie eine der folgenden Optionen und geben Sie einenValue:
-
Zahl – Wählen Sie die Anzahl der Knoten in Ihrer Knotengruppe, die parallel aktualisiert werden können, und geben Sie diese an.
-
Prozentsatz – Wählen und geben Sie den Prozentsatz der Knoten in der Knotengruppe an, die parallel aktualisiert werden können. Dies ist nützlich, wenn Sie eine große Anzahl von Knoten in Ihrer Knotengruppe haben.
-
-
Konfiguration der automatischen Knotenreparatur – (Optional) Wenn Sie das Kontrollkästchen Automatische Knotenreparatur aktivieren aktivieren, ersetzt Amazon EKS automatisch Knoten, wenn erkannte Probleme auftreten. Weitere Informationen finden Sie unter Aktivieren der automatischen Knoten-Reparatur und untersuchen von Problemen mit dem Zustand des Knotens .
-
-
Füllen Sie auf der Seite Specify Details (Details angeben) die Parameter entsprechend aus, und klicken Sie dann auf Next.
-
Subnets (Subnetze) – Wählen Sie die Subnetze aus, in die die verwalteten Knoten gestartet werden sollen.
Wichtig
Wenn Sie eine zustandsbehaftete Anwendung über mehrere Availability Zones hinweg ausführen, die von Amazon-EBS-Volumes gesichert wird und den Kubernetes Cluster Autoscaler
verwendet, sollten Sie mehrere Knotengruppen konfigurieren, die jeweils für eine einzelne Availability Zone gelten. Außerdem sollten Sie das --balance-similar-node-groups-Feature aktivieren.Wichtig
-
Wenn Sie ein öffentliches Subnetz wählen und in Ihrem Cluster nur der öffentliche API-Server-Endpunkt aktiviert ist, muss das Subnetz
MapPublicIPOnLaunchauftrueeingestellt sein, damit die Instances erfolgreich einem Cluster zugeordnet werden können. Wenn das Subnetz miteksctloder den von Amazon EKS vertriebenen AWS-CloudFormation-Vorlagen am oder nach dem 26. März 2020 erstellt wurde, ist diese Einstellung bereits auftruegesetzt. Wenn die Subnetze vor dem 26. März 2020 miteksctloder AWS-CloudFormation-Vorlagen erstellt wurden, müssen Sie die Einstellung manuell ändern. Weitere Informationen finden Sie unter Ändern des öffentlichen IPv4-Adressierungsattributs für Ihr Subnetz. -
Wenn Sie eine Startvorlage verwenden und mehrere Netzwerkschnittstellen angeben, weist Amazon EC2 keine öffentliche
IPv4-Adresse automatisch zu, selbst wennMapPublicIpOnLaunchauftruefestgelegt ist. Damit Knoten dem Cluster in diesem Szenario beitreten können, müssen Sie entweder den privaten API-Serverendpunkt des Clusters aktivieren oder Knoten in einem privaten Subnetz mit ausgehendem Internetzugriff starten, der über eine alternative Methode wie ein NAT-Gateway bereitgestellt wird. Weitere Informationen dazu finden Sie unter Amazon-EC2-Instance-IP-Adressen im Amazon-EC2-Benutzerhandbuch.
-
-
Konfigurieren des SSH-Zugriffs auf Knoten (Optional). Mit der Aktivierung von SSH können Sie eine Verbindung zu Ihren Instances herstellen und Diagnoseinformationen erfassen, wenn Probleme auftreten. Wir empfehlen dringend, den Fernzugriff zu aktivieren, sobald Sie eine Knotengruppe erstellen. Sie können den Fernzugriff nicht mehr aktivieren, nachdem die Knotengruppe erstellt wurde.
Wenn Sie eine Startvorlage verwenden möchten, wird diese Option nicht angezeigt. Um den Remotezugriff auf Ihre Knoten zu aktivieren, geben Sie in der Startvorlage ein Schlüsselpaar an und stellen Sie sicher, dass die richtige Schnittstelle für die Knoten in den Sicherheitsgruppen geöffnet ist, die Sie in der Startvorlage angeben. Weitere Informationen finden Sie unter Benutzerdefinierte Sicherheitsgruppen.
Anmerkung
Für Windows aktiviert dieser Befehl SSH nicht. Stattdessen wird das Amazon-EC2-Schlüsselpaar mit der Instance verknüpft. Außerdem ermöglicht dies eine RDP-Verbindung mit der Instance.
-
Für SSH-Schlüsselpaar (optional) wählen Sie einen Amazon-EC2-SSH-Schlüssel aus, der verwendet werden soll. Informationen zu Linux finden Sie unter Amazon-EC2-Schlüsselpaare und Linux-Instances im Benutzerhandbuch von Amazon EC2. Informationen zu Windows finden Sie unter Amazon-EC2-Schlüsselpaare und Windows-Instances im Benutzerhandbuch von Amazon EC2. Wenn Sie eine Startvorlage verwenden möchten, können Sie keine auswählen. Wenn ein Amazon-EC2-SSH-Schlüssel für Knotengruppen bereitgestellt wird, die Bottlerocket-AMIs verwenden, wird auch der administrative Container aktiviert. Weitere Informationen finden Sie unter Administrator-Container
auf GitHub. -
Für Zulassen des SSH-Remote-Zugriffs von, wenn Sie den Zugriff auf bestimmte Instances beschränken möchten, wählen Sie die Sicherheitsgruppen aus, die diesen Instances zugeordnet sind. Wenn Sie keine bestimmten Sicherheitsgruppen auswählen, ist SSH-Zugriff von überall im Internet erlaubt (
0.0.0.0/0).
-
-
Überprüfen Sie auf der Seite Review and create (Überprüfen und Erstellen) die Konfiguration der verwalteten Knoten, und wählen Sie Create (Erstellen).
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.
-
Sehen Sie sich den Status Ihrer Knoten an und warten Sie, bis diese in den
Ready-Status eintreten.kubectl get nodes --watch -
(Nur GPU-Knoten) Wenn Sie einen GPU-Instance-Typ und ein für Amazon EKS optimiertes beschleunigtes AMI ausgewählt haben, müssen Sie das NVIDIA-Geräte-Plugin
für Kubernetes als DaemonSet auf Ihrem Cluster anwenden. Ersetzen Sie vX.X.Xmit Ihrer gewünschten NVIDIA/k8s-device-plugin-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
Kubernetes-Add-Ons installieren
Nachdem Sie nun über einen funktionierenden Amazon-EKS-Cluster mit Worker-Knoten verfügen, können Sie mit der Installation von Kubernetes-Add-Ons und -Anwendungen auf Ihrem Cluster beginnen. Die folgenden Dokumentationsthemen helfen Ihnen bei der Erweiterung der Funktionalität Ihres Clusters.
-
Der IAM-Prinzipal, der den Cluster erstellt hat, ist der einzige Prinzipal, der Aufrufe an den Kubernetes-API-Server mit
kubectloder AWS-Managementkonsole tätigen kann. Wenn Sie möchten, dass andere IAM-Prinzipale Zugriff auf Ihren Cluster haben, müssen Sie sie hinzufügen. Weitere Informationen erhalten Sie unter Gewähren von Zugriff auf Kubernetes-APIs für IAM-Benutzer und Rollen und Erforderliche Berechtigungen. -
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), beispielsweise 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
. -
-
Konfigurieren Sie den Kubernetes Cluster Autoscaler
, um die Anzahl der Knoten in Ihren Knotengruppen automatisch anzupassen. -
Stellen Sie eine Beispielanwendung für Ihr Cluster bereit.
-
Organisieren und überwachen Sie Cluster-Ressourcen mit wichtigen Tools für die Verwaltung Ihres Clusters.