Una policy di aggiornamento dei pool di nodi ti consente di limitare il numero di node pool che vengono aggiornati o di cui viene eseguito l'upgrade contemporaneamente. Poiché i pool di nodi vengono aggiornati in parallelo per impostazione predefinita, una concorrenza inferiore aiuta a evitare deadlock di PodDisruptionBudget (PDB) e l'esaurimento delle risorse o degli indirizzi IP. Tuttavia, gli aggiornamenti e gli upgrade richiedono più tempo.
Requisiti per le risorse e gli indirizzi IP
Per impostazione predefinita, i node pool vengono aggiornati in parallelo. Per ogni pool di nodi in fase di aggiornamento, il cluster crea un nodo di surge. L'aggiornamento simultaneo di più node pool può comportare i seguenti vincoli:
- Esaurimento delle risorse: la creazione di nodi di surge per più node pool in parallelo potrebbe superare la quota di computing o la capacità dell'host disponibile se la capacità aggiuntiva è limitata.
- Deadlock dei PDB: lo svuotamento di più nodi alla volta può potenzialmente causare deadlock dei PodDisruptionBudget (PDB).
- Disponibilità degli indirizzi IP: ogni pool di nodi che viene aggiornato in parallelo richiede un indirizzo IP aggiuntivo per il nodo di surge. Ad esempio, per aggiornare tre pool di nodi in parallelo, devono essere disponibili tre indirizzi IP aggiuntivi:
- Se i nodi worker ottengono gli indirizzi IP da un server DHCP, il server DHCP deve essere in grado di fornire un indirizzo IP aggiuntivo per ogni pool di nodi che viene aggiornato in parallelo.
- Se i nodi worker utilizzano indirizzi IP statici, il tuo file di blocco IP deve contenere un indirizzo IP aggiuntivo per ogni pool di nodi che viene aggiornato in parallelo, oltre agli indirizzi IP necessari per i nodi worker.
Se non sono disponibili indirizzi IP aggiuntivi sufficienti per aggiornare tutti i pool di nodi in parallelo, il cluster aggiorna il maggior numero possibile di pool in parallelo. Man mano che gli indirizzi IP diventano disponibili, i pool di nodi rimanenti vengono aggiornati.
Configura la policy di aggiornamento del pool di nodi
Tieni presente quanto segue in merito ai cluster avanzati:
Versione 1.31: le policy di aggiornamento dei pool di nodi non sono supportate nei cluster avanzati.
Versione 1.32: le policy di aggiornamento dei pool di nodi sono supportate sui cluster avanzati.
Versioni da 1.32.0 a 1.32.1000, da 1.33.0 a 1.33.600 e da 1.34.0 a 1.34.200: nei cluster avanzati,
maximumConcurrentNodePoolUpdateviene impostato su1, quindi i node pool vengono aggiornati in sequenza. Nelle versioni patch successive e nella versione 1.35 e successive, il valore predefinito è0, quindi i node pool vengono aggiornati in parallelo. Per maggiori dettagli, vedinodePoolUpdatePolicy.maximumConcurrentNodePoolUpdate.
Nella configurazione seed del cluster utente user-cluster.yaml, puoi configurare la policy di aggiornamento del pool di nodi per aggiornare i node pool in sequenza o con un limite di contemporaneità:
nodePoolUpdatePolicy: maximumConcurrentNodePoolUpdate: 1
Il campo maximumConcurrentNodePoolUpdate controlla la contemporaneità degli aggiornamenti:
0: conserva il comportamento parallelo predefinito in tutti i node pool.1: aggiorna i node pool in sequenza. Sebbene gli aggiornamenti sequenziali evitino l'esaurimento delle risorse e degli IP, il processo di aggiornamento richiede più tempo rispetto all'aggiornamento in parallelo.- Un numero intero maggiore di
1: configura il numero massimo di node pool da aggiornare contemporaneamente.
La policy di aggiornamento del pool di nodi si applica sia all'aggiornamento che all'upgrade del pool di nodi, ma non alla creazione. Se un aggiornamento o un upgrade pool di nodi riscontra problemi e si blocca, il processo si interrompe in quel pool e non procede al pool di nodi successivo.