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.
Reduzieren Sie die Latenz für Anwendungen mit langen Startzeiten, indem Sie warme Pools mit verwalteten Knotengruppen verwenden
Wenn Ihre Anwendungen lange Initialisierungs- oder Startzeiten haben, können Scale-Out-Ereignisse zu Verzögerungen führen. Neue Knoten müssen vollständig gestartet und dem Cluster hinzugefügt werden, bevor Pods für sie geplant werden können. Diese Latenz kann sich auf die Anwendungsverfügbarkeit bei Datenverkehrsspitzen oder schnellen Skalierungsereignissen auswirken. Warm Pools lösen dieses Problem, indem sie einen Pool mit vorinitialisierten EC2-Instances verwalten, die den Startvorgang bereits abgeschlossen haben. Während eines Scale-Out-Ereignisses werden Instances vom Warm-Pool direkt in Ihren Cluster verschoben. Dadurch werden die zeitaufwändigen Initialisierungsschritte umgangen und die Zeit, die benötigt wird, bis neue Kapazitäten verfügbar sind, erheblich reduziert. Weitere Informationen finden Sie unter Reduzieren der Latenz für Anwendungen mit langen Startzeiten mithilfe warmer Pools im Amazon EC2 Auto Scaling Scaling-Benutzerhandbuch.
Von Amazon EKS verwaltete Knotengruppen unterstützen Amazon EC2 Auto Scaling Scaling-Warm-Pools. Ein warmer Pool verwaltet vorinitialisierte EC2-Instances zusammen mit Ihrer Auto Scaling Scaling-Gruppe, die Ihrem Cluster bei Scale-Out-Ereignissen schnell beitreten können. Instances im Warmpool haben den Startinitialisierungsprozess bereits abgeschlossen und können im Status, oder belassen werden. Stopped Running Hibernated
Amazon EKS verwaltet Warm-Pools während des gesamten Knotengruppen-Lebenszyklus mithilfe der AWSServiceRoleForAmazonEKSNodegroup serviceverknüpften Rolle, um Warm-Pool-Ressourcen zu erstellen, zu aktualisieren und zu löschen.
Funktionsweise
Wenn Sie einen warmen Pool konfigurieren, erstellt Amazon EKS einen EC2 Auto Scaling Scaling-Warmpool, der an die Auto Scaling-Gruppe Ihrer Knotengruppe angehängt ist. Instances werden im Warmpool gestartet, schließen den Startinitialisierungsprozess ab und verbleiben im konfigurierten Zustand (, oderHibernated) RunningStopped, bis sie benötigt werden. Bei Scale-Out-Ereignissen wechseln Instances vom Warmpool zur Auto Scaling Scaling-Gruppe, schließen den Amazon EKS-Initialisierungsprozess ab, um dem Cluster beizutreten, und stehen dann für die Pod-Planung zur Verfügung. Wenn die Wiederverwendung von Instances aktiviert ist, können Instances bei Scale-In-Ereignissen in den Warmpool zurückkehren.
Wichtig
Konfigurieren Sie warme Pools immer über die Amazon EKS-API mit create-nodegroup oderupdate-nodegroup-config. Ändern Sie die Warm-Pool-Einstellungen nicht manuell mithilfe der EC2 Auto Scaling Scaling-API, da dies zu Konflikten mit der Amazon EKS-Ressourcenverwaltung führen kann.
Überlegungen
Wichtig
Lesen Sie vor der Konfiguration von Warm-Pools die Voraussetzungen und Einschränkungen in Warm Pools for Amazon EC2 Auto Scaling im Amazon EC2 Auto Scaling Scaling-Benutzerhandbuch. Nicht alle Instance-Typen oder Konfigurationen werden unterstützt. AMIs
-
IAM-Berechtigungen — Die
AWSServiceRoleForAmazonEKSNodegroupserviceverknüpfte Rolle (automatisch mit Ihrer ersten verwalteten Knotengruppe erstellt) umfasst die erforderlichen Warm-Pool-Verwaltungsberechtigungen. -
AMI-Einschränkungen — Warme Pools unterstützen keine benutzerdefinierten Pools AMIs. Sie müssen Amazon EKS Optimized verwenden AMIs.
-
Einschränkungen von Bottlerocket — Wenn Sie Bottlerocket verwenden AMIs, wird der
HibernatedPool-Status nicht unterstützt. Nur Status „Verwenden“ oder „Pool“.StoppedRunningDarüber hinaus wird diereuseOnScaleInFunktion von AMIs Bottlerocket nicht unterstützt. -
Unterstützung für den Ruhezustand — Der
HibernatedPool-Status wird nur für bestimmte Instance-Typen unterstützt. Informationen zu den unterstützten Instance-Typen finden Sie unter Voraussetzungen für den Ruhezustand im Amazon EC2 EC2-Benutzerhandbuch. -
Auswirkungen auf die Kosten — Die Einrichtung eines warmen Pools, wenn er nicht benötigt wird, kann zu unnötigen Kosten führen.
-
Kapazitätsplanung — Legen Sie die Größe Ihres Warmwasserpools auf der Grundlage von Skalierungsmustern fest, um Kosten und Verfügbarkeit in Einklang zu bringen. Beginnen Sie mit 10 bis 20% der erwarteten Spitzenkapazität.
-
VPC-Netzwerke — Stellen Sie sicher, dass ausreichend IP-Adressen sowohl für Auto Scaling Scaling-Gruppen- als auch für Warm-Pool-Instances vorhanden sind.
Warme Pools konfigurieren
Sie können warme Pools konfigurieren, wenn Sie eine neue verwaltete Knotengruppe erstellen, oder eine bestehende verwaltete Knotengruppe aktualisieren, um Unterstützung für warme Pools hinzuzufügen.
Konfigurationsparameter
-
enabled — (boolean) Zeigt an, dass Sie beabsichtigen, der verwalteten Knotengruppe einen Warm-Pool hinzuzufügen. Erforderlich, um die Unterstützung für warme Pools zu aktivieren.
-
maxGroupPreparedKapazität — (Ganzzahl) Maximale Gesamtzahl der Instances im Warmpool und in der Auto Scaling Scaling-Gruppe zusammen.
-
minSize — (Ganzzahl) Mindestanzahl von Instanzen, die im warmen Pool verwaltet werden müssen. Standard:
0. -
poolState — (Zeichenfolge) Status für Warm-Pool-Instanzen. Standard:
Stopped. -
reuseOnScaleIn — (boolean) Ob Instances bei Scale-In-Ereignissen zum Warm-Pool zurückkehren, anstatt sie zu beenden. Standard:
false. Wird von Bottlerocket nicht unterstützt. AMIs
Verwenden der AWS CLI
Sie können einen warmen Pool konfigurieren, wenn Sie eine verwaltete Knotengruppe erstellen, oder einer vorhandenen Knotengruppe einen hinzufügen.
Erstellen Sie eine Knotengruppe mit einem warmen Pool
aws eks create-nodegroup \ --cluster-name my-cluster \ --nodegroup-name my-nodegroup \ --node-role arn:aws:iam::111122223333:role/AmazonEKSNodeRole \ --subnets subnet-12345678 subnet-87654321 \ --region us-east-1 \ --scaling-config minSize=2,maxSize=10,desiredSize=3 \ --warm-pool-config enabled=true,maxGroupPreparedCapacity=8,minSize=2,poolState=Stopped,reuseOnScaleIn=true
Fügen Sie einer vorhandenen Knotengruppe einen warmen Pool hinzu
aws eks update-nodegroup-config \ --cluster-name my-cluster \ --nodegroup-name my-nodegroup \ --region us-east-1 \ --warm-pool-config enabled=true,maxGroupPreparedCapacity=8,minSize=2,poolState=Stopped,reuseOnScaleIn=true
Konfiguration aktualisieren
Aktualisieren Sie die Einstellungen für den warmen Pool jederzeit mitupdate-nodegroup-config. Bestehende Warm-Pool-Instanzen sind nicht sofort betroffen. Neue Einstellungen gelten für Instanzen, die nach dem Update in den Warm-Pool wechseln.
aws eks update-nodegroup-config \ --cluster-name my-cluster \ --nodegroup-name my-nodegroup \ --region us-east-1 \ --warm-pool-config enabled=true,maxGroupPreparedCapacity=10,minSize=3,poolState=Running,reuseOnScaleIn=true
Um den mit Ihrer Knotengruppe verbundenen Warmpool zu deaktivieren, legen Sie Folgendes fest: enabled=false
aws eks update-nodegroup-config \ --cluster-name my-cluster \ --nodegroup-name my-nodegroup \ --region us-east-1 \ --warm-pool-config enabled=false
Weitere Ressourcen
-
Warme Pools für Amazon EC2 Auto Scaling im Amazon EC2 Auto Scaling Scaling-Benutzerhandbuch
-
Vereinfachen Sie den Knotenlebenszyklus mit verwalteten Knotengruppen