Questa pagina spiega come assicurarti di poter utilizzare le strategie di upgrade dei nodi per apportare modifiche ai nodi del cluster. Ti consigliamo di verificare se il tuo progetto dispone di risorse sufficienti per aggiornare i pool di nodi standard di Google Kubernetes Engine (GKE) in base alla strategia scelta.
Risorse necessarie per gli upgrade dei nodi
Gli upgrade dei nodi potrebbero richiedere a GKE di creare temporaneamente altri nodi, a seconda della strategia e della configurazione dei nodi che hai scelto. Per questo motivo, GKE potrebbe richiedere risorse aggiuntive per un upgrade del pool di nodi.
Tutti i nodi creati da GKE, inclusi quelli utilizzati per gli upgrade, sono soggetti alla quota di risorse del progetto, alla disponibilità delle risorse e alla capacità di prenotazione, per i pool di nodi con affinità di prenotazione specifica.
Ti consigliamo vivamente di verificare di disporre di risorse adeguate se hai requisiti speciali per i tipo di macchina e vincoli di capacità. Potresti dover configurare una strategia che richieda meno risorse per assicurarti di poter eseguire l'upgrade dei tuoi nodi o intraprendere altre azioni, come creare una prenotazione. Per saperne di più, consulta Eseguire l'upgrade in un ambiente con risorse limitate.
Risorse necessarie per diverse strategie di upgrade
Le sezioni seguenti descrivono le risorse aggiuntive necessarie per utilizzare le strategie di upgrade disponibili. Se riscontri problemi di upgrade, controlla le operazioni di upgrade e segui le istruzioni per risolvere gli errori di upgrade.
Risorse per gli upgrade di sovraccarico
Gli upgrade per picchi sono la strategia di upgrade dei nodi predefinita. Poiché gli upgrade di incremento creano VM aggiuntive (se maxSurge
è impostato su un valore maggiore di zero) prima di svuotare ed eliminare i vecchi nodi, è possibile che gli upgrade non riescano se il progetto non dispone di risorse sufficienti.
Se le risorse disponibili sono inferiori al numero di nodi specificato in
maxSurge
, il numero di upgrade paralleli è inferiore a maxSurge
più
maxUnavailable
. Se non hai capacità aggiuntive, scopri come eseguire l'upgrade in un ambiente con risorse limitate.
La tabella seguente contiene alcuni esempi che dimostrano i vari comportamenti degli upgrade:
Impostazioni di upgrade | Numero di nodi aggiuntivi consentiti dalle risorse disponibili | Risultato |
---|---|---|
maxSurge: 5 maxUnavailable: 0 | 5 | Esegue l'upgrade di 5 nodi in parallelo. |
maxSurge: 5 maxUnavailable: 0 | 2 | Esegue l'upgrade solo di 2 nodi in parallelo. |
maxSurge: 5 maxUnavailable: 0 | 0 | L'upgrade non riesce poiché non è possibile attivare altri nodi e il riavvio di quelli esistenti è vietato dalle impostazioni di upgrade. GKE continua a tentare l'upgrade automatico finché l'operazione non va a buon fine. |
maxSurge: 5 maxUnavailable: 1 | 5 | Esegue l'upgrade di 6 nodi in parallelo, garantendo che il pool di nodi perda temporaneamente solo 1 nodo a causa dell'upgrade. |
maxSurge: 5 maxUnavailable: 1 | 2 | Esegue l'upgrade solo di 3 nodi in parallelo, garantendo che nel pool di nodi manchi al massimo 1 nodo a causa dell'upgrade. |
maxSurge: 5 maxUnavailable: 1 | 0 | Esegue l'upgrade di un solo nodo alla volta mediante la nuova creazione di ogni nodo con un metodo di upgrade in sequenza. |
Risorse per gli upgrade blu/verde
Gli upgrade blue-green doppio temporaneamente il numero di nodi in un pool di nodi, il che significa che il tuo pool di nodi ha temporaneamente bisogno del doppio delle risorse. Se non hai risorse sufficienti a disposizione e hai configurato il pool di nodi per utilizzare questa strategia, configura gli upgrade per i picchi se devi sbloccare gli upgrade. Quando configuri questa strategia, assicurati di configurare i parametri di upgrade per l'aumento improvviso che funzionino con le risorse disponibili per i nodi del pool di nodi. Per saperne di più, consulta la sezione precedente Risorse per gli upgrade per picchi di domanda.
Controllare le operazioni di upgrade per verificare la presenza di errori relativi alle risorse
Controlla gli oggetti delle operazioni di upgrade per ulteriori informazioni sulle operazioni di upgrade e sul motivo dell'eventuale mancata esecuzione degli upgrade. Per elencare gli oggetti delle operazioni di upgrade, esegui questo comando:
gcloud container operations list \
--filter="STATUS=DONE AND TYPE=UPGRADE_NODES AND targetLink:https://container.googleapis.com/v1/projects/PROJECT_ID/zones/COMPUTE_ZONE/clusters/CLUSTER_NAME"
Sostituisci quanto segue:
PROJECT_ID
: l'ID del tuo progetto Google Cloud.COMPUTE_ZONE
: la zona Compute Engine per il cluster.CLUSTER_NAME
: il nome del tuo cluster.
Se l'upgrade più recente non è riuscito a causa di una quota di risorse insufficiente, l'output è simile al seguente:
gcloud container operations describe operation-1234567891234-1abc2d3e
detail: "Insufficient quota to satisfy the request: waiting on IG: instance https://www.googleapis.com/compute/v1/projects/my-project-123/zones/us-central1-a/instances/gke-my-cluster-default-pool-123ab45c-de67\
\ is still CREATING. Last attempt errors: [QUOTA_EXCEEDED] Instance 'gke-my-cluster-default-pool-123ab45c-de67'\
\ creation failed: Quota 'IN_USE_ADDRESSES' exceeded. Limit: 50.0 in region us-central1.\
...
Se il motivo è legato a una prenotazione insufficiente, l'output è simile al seguente:
gcloud container operations describe operation-1234567891234-1abc2d3e
detail: "Reservation does not have enough resources for the request: waiting on IG:\
\ instance https://www.googleapis.com/compute/v1/projects/my-project-123/zones/us-central1-a/instances/gke-my-cluster-default-pool-123ab45c-de67\
\ is still CREATING. Last attempt error: [CONDITION_NOT_MET] Instance 'gke-my-cluster-default-pool-123ab45c-de67'\
\ creation failed: Specified reservation 'foo' does not have available resources\
\ for the request."
Se il motivo è dovuto a una capacità insufficiente, vengono visualizzati messaggi di errore relativi alla disponibilità delle risorse.
Risoluzione degli errori di upgrade
Se l'upgrade non è riuscito a causa di risorse insufficienti, prova a svolgere i seguenti passaggi:
- Valuta la possibilità di utilizzare una strategia di upgrade meno dispendiosa in termini di risorse. Se utilizzi gli upgrade blu/verdi, valuta la possibilità di eseguire upgrade per picchi di domanda.
- Verifica se nel tuo progetto esistono delle risorse di Compute Engine che consumano risorse e non sono più necessarie. Se trovi risorse di questo tipo, rimuovile e prova a eseguire di nuovo l'upgrade.
- Se i primi due passaggi non consentono comunque di eseguire l'upgrade, richiedi un incremento della quota oppure aumenta la dimensione della prenotazione specifica.
- Se operi in un ambiente con risorse limitate, ad esempio con requisiti speciali per i tipo di macchina e limitazioni di capacità, consulta la sezione successiva per scoprire come sbloccare gli upgrade.
Eseguire l'upgrade in un ambiente con risorse limitate
Se Google Cloud ha una capacità limitata per una risorsa specifica (ad esempio GPU o TPU) utilizzata dal tuo pool di nodi, ti consigliamo di utilizzare una prenotazione per assicurarti di disporre di risorse adeguate. Se non disponi di risorse adeguate, potresti non essere in grado di eseguire l'upgrade dei nodi finché non potrai accedere a una maggiore capacità, se non hai una prenotazione per la capacità esistente.
Se non puoi ottenere capacità aggiuntiva, non puoi utilizzare gli upgrade blue-green. Per gli upgrade di sovraccarico,
maxSurge
sono necessari nodi aggiuntivi. Con maxUnavailable
, se la capacità non proviene da una prenotazione, GKE rilascia temporaneamente la capacità del nodo durante l'upgrade, il che significa che se la capacità è limitata, rischi di perderla.
Segui le indicazioni riportate di seguito, a seconda che tu abbia una prenotazione per il tuo pool di nodi di cui è necessario eseguire l'upgrade.
Upgrade con capacità limitata senza prenotazione
Se non hai una prenotazione per i nodi del tuo pool di nodi, ti consigliamo di crearne una. Tuttavia, se non puoi, ti consigliamo di utilizzare gli upgrade per i picchi
con la configurazione predefinita
di maxSurge=1;maxUnavailable=0
. Con questa configurazione, non rischi di perdere la capacità esistente. Tuttavia, gli upgrade per picchi creano un nodo per picchi solo se la capacità è disponibile. Pertanto, se non è disponibile alcuna capacità, gli upgrade potrebbero richiedere più tempo e il pool di nodi potrebbe rimanere in uno stato di upgrade parziale finché non viene garantita la capacità per l'upgrade di ogni nodo.
Ti consigliamo di creare una prenotazione o di aumentare le dimensioni di una prenotazione esistente.
Upgrade con capacità limitata con una prenotazione
Se hai una prenotazione per i nodi del tuo pool di nodi, puoi eseguire l'upgrade dei pool di nodi in un ambiente con limitazioni di capacità, ottimizzando le impostazioni di upgrade per il picco per velocità e affidabilità.
Se hai una capacità aggiuntiva nella prenotazione, puoi utilizzare maxSurge
per creare nodi di picco. Imposta maxSurge
in base al numero di nodi che vuoi interrompere contemporaneamente e alla capacità aggiuntiva di cui disponi. Ad esempio, imposta
maxSurge=1;maxUnavailable=0
se vuoi interrompere un solo nodo alla volta o
se hai la capacità di creare un solo nodo aggiuntivo.
Se non hai capacità aggiuntiva, puoi utilizzare maxUnavailable
con una configurazione come maxSurge=0;maxUnavailable=1
, poiché la capacità è prenotata. Questa configurazione interrompe un nodo alla volta, ricreandolo per aggiornarlo.
Passaggi successivi
- Scopri di più sulle strategie di upgrade dei nodi
- Ulteriori informazioni sulla quota delle risorse
- Ulteriori informazioni sul consumo delle prenotazioni