Mit einer Richtlinie für Knotenpool-Updates können Sie die Anzahl der Knotenpools begrenzen, die gleichzeitig aktualisiert oder upgegradet werden. Da Knotenpools standardmäßig parallel aktualisiert werden, können durch eine geringere Nebenläufigkeit PodDisruptionBudget-Deadlocks (PDB) und die Erschöpfung von Ressourcen oder IP-Adressen verhindert werden. Updates und Upgrades dauern jedoch länger.
Anforderungen an Ressourcen und IP-Adressen
Standardmäßig werden Knotenpools parallel aktualisiert. Für jeden zu aktualisierenden Knotenpool erstellt der Cluster einen Surge-Knoten. Das gleichzeitige Aktualisieren mehrerer Knotenpools kann zu den folgenden Einschränkungen führen:
- Ressourcenerschöpfung: Wenn Sie Surge-Knoten für mehrere Knotenpools parallel erstellen, kann das verfügbare Rechenkontingent oder die Hostkapazität überschritten werden, wenn die zusätzliche Kapazität begrenzt ist.
- PDB-Deadlocks: Wenn mehr als ein Knoten gleichzeitig per Drain beendet wird, kann dies zu PodDisruptionBudget-Deadlocks (PDB) führen.
- Verfügbarkeit von IP-Adressen: Jeder Knotenpool, der parallel aktualisiert wird, benötigt eine zusätzliche IP-Adresse für seinen Surge-Knoten. Wenn Sie beispielsweise drei Knotenpools parallel aktualisieren möchten, müssen drei zusätzliche IP-Adressen verfügbar sein:
- Wenn Ihre Worker-Knoten IP-Adressen von einem DHCP-Server erhalten, muss Ihr DHCP-Server für jeden Knotenpool, der parallel aktualisiert wird, eine zusätzliche IP-Adresse bereitstellen können.
- Wenn Ihre Worker-Knoten statische IP-Adressen verwenden, muss Ihre IP-Blockdatei für jeden Knotenpool, der parallel aktualisiert wird, eine zusätzliche IP-Adresse enthalten, die über die für Worker-Knoten erforderlichen IP-Adressen hinausgeht.
Wenn nicht genügend zusätzliche IP-Adressen verfügbar sind, um alle Knotenpools parallel zu aktualisieren, aktualisiert der Cluster so viele Pools wie möglich parallel. Sobald IP-Adressen verfügbar sind, werden die verbleibenden Knotenpools aktualisiert.
Richtlinie für Knotenpool-Updates konfigurieren
Beachten Sie Folgendes zu erweiterten Clustern:
Version 1.31: Richtlinien für Knotenpool-Updates werden auf erweiterten Clustern nicht unterstützt.
Version 1.32: Richtlinien für Knotenpool-Updates werden in erweiterten Clustern unterstützt.
Versionen 1.32.0 bis 1.32.1000, 1.33.0 bis 1.33.600 und 1.34.0 bis 1.34.200: In erweiterten Clustern ist
maximumConcurrentNodePoolUpdatestandardmäßig auf1festgelegt, sodass Knotenpools nacheinander aktualisiert werden. In späteren Patchversionen und in Version 1.35 und höher ist der Standardwert0, sodass Knotenpools parallel aktualisiert werden. Weitere Informationen finden Sie unternodePoolUpdatePolicy.maximumConcurrentNodePoolUpdate.
In der Seed-Konfiguration user-cluster.yaml des Nutzerclusters können Sie die Richtlinie für Knotenpool-Updates so konfigurieren, dass Knotenpools nacheinander oder mit einem Nebenläufigkeitslimit aktualisiert werden:
nodePoolUpdatePolicy: maximumConcurrentNodePoolUpdate: 1
Das Feld maximumConcurrentNodePoolUpdate steuert die Nebenläufigkeit von Aktualisierungen:
0: Behält das standardmäßige parallele Verhalten für alle Knotenpools bei.1: Aktualisiert Knotenpools nacheinander. Obwohl sequenzielle Updates die Erschöpfung von Ressourcen und IP-Adressen vermeiden, dauert der Updatevorgang länger als bei parallelen Updates.- Eine Ganzzahl größer als
1: Konfiguriert die maximale Anzahl von Knotenpools, die gleichzeitig aktualisiert werden sollen.
Die Richtlinie für Knotenpool-Updates gilt sowohl für die Aktualisierung als auch für das Upgrade von Knotenpools, jedoch nicht für die Erstellung. Wenn bei der Aktualisierung eines Knotenpools Probleme auftreten und das Update nicht fortgesetzt werden kann, wird der Prozess bei diesem Pool blockiert und es wird nicht mit dem Update des nächsten Knotenpools fortgefahren.