Questo documento introduce il concetto di budget di interruzione dei cluster e spiega come puoi personalizzarli facoltativamente in base alle esigenze del tuo ambiente. I budget di interruzione dei cluster sono uno strumento di una suite di funzionalità che consentono a un amministratore della piattaforma di ridurre al minimo le interruzioni dei carichi di lavoro, migliorandone al contempo prestazioni, affidabilità e sicurezza.
Gli upgrade dei cluster, ovvero quando GKE aggiorna la versione utilizzata dal piano di controllo e dai nodi del cluster, possono essere una delle principali fonti di interruzione per un cluster GKE. Per maggiori informazioni sugli upgrade, consulta la sezione Informazioni sugli upgrade dei cluster GKE. Per scoprire tutte le altre funzionalità per ridurre al minimo le interruzioni durante gli upgrade dei cluster, consulta la sezione Controllare gli upgrade dei cluster di questo documento. Per informazioni più generali sulle modifiche del ciclo di vita dei cluster oltre agli upgrade dei cluster, consulta la sezione Gestire le modifiche del ciclo di vita dei cluster per ridurre al minimo le interruzioni.
Che cos'è un budget di interruzione dei cluster
Per contribuire a garantire che il cluster non venga interrotto troppo spesso dagli upgrade automatici, GKE applica per impostazione predefinita un budget di interruzione dei cluster per impostare un intervallo minimo tra gli upgrade automatici del piano di controllo del cluster. GKE applica questo budget anche tra la creazione del cluster e il primo upgrade automatico del piano di controllo. Inoltre, se esegui manualmente l'upgrade del piano di controllo del cluster, GKE rispetta il budget di interruzione dei cluster quando esegue l'upgrade automatico successivo. Puoi sempre eseguire manualmente l'upgrade del cluster, anche se questo upgrade viola il budget di interruzione dei cluster.
In un cluster, GKE esegue automaticamente l'upgrade del piano di controllo prima dei nodi. Pertanto, questo budget imposta anche la cadenza minima degli upgrade automatici dei nodi del cluster.
GKE ha budget di interruzione dei cluster predefiniti per diversi tipi di upgrade di versione:
- Upgrade della versione patch: 24 ore
- Upgrade della versione secondaria: 30 giorni
GKE applica il budget tra gli stessi tipi di upgrade. Ad esempio, GKE attende 24 ore tra l'upgrade di un cluster tra le versioni patch 1.35.0-gke.1403000 e 1.35.0-gke.1624000 e 30 giorni tra 1.34 e 1.35. Tuttavia, GKE attende 24 ore dopo un upgrade secondario prima di eseguire un upgrade patch.
GKE utilizza un budget di interruzione dei cluster solo per gli upgrade dei cluster, e non per altri tipi di modifiche a un cluster GKE cluster.
Il budget di interruzione dei cluster è distinto da, ma può essere abbinato a, periodi di manutenzione ed esclusioni. I criteri di manutenzione controllano quando può e non può essere eseguita la manutenzione dei cluster GKE, mentre il budget di interruzione dei cluster imposta un intervallo di tempo specifico tra gli upgrade dei cluster.
Quando personalizzare il budget di interruzione del cluster
I budget di interruzione dei cluster predefiniti di GKE riflettono un equilibrio tra la tempestività degli upgrade, evitando al contempo upgrade consecutivi e ottimizzando la stabilità. Tuttavia, questi valori generali potrebbero non essere ideali per l'ambiente del cluster.
Se vuoi controllare questo intervallo minimo di tempo tra gli upgrade automatici dei cluster, puoi configurare il budget di interruzione dei cluster. Considera, ad esempio, i seguenti scenari:
- Hai un processo personalizzato per valutare una versione patch del piano di controllo GKE prima di eseguirne il push in produzione e questo processo richiede un periodo di tempo specifico superiore al budget predefinito del cluster.
- Hai cluster di grandi dimensioni per i quali è necessario un periodo di tempo più lungo per eseguire l'upgrade di tutti i node pool. Vuoi mantenere una relativa coerenza delle versioni in questi node pool. Pertanto, riduci la frequenza degli upgrade patch, eseguendo l'upgrade mensile, consentendo al contempo periodi di manutenzione frequenti per garantire che gli upgrade pool di nodi vengano completati in modo tempestivo.
Impostare il budget di interruzione dei cluster per gli upgrade automatici
Se hai una necessità specifica di controllare l'intervallo tra due upgrade secondari o due upgrade patch, puoi impostare i tuoi budget di interruzione dei cluster. Prima di tutto, ti consigliamo di iniziare configurando un periodo di manutenzione per impostare un orario ricorrente per la manutenzione dei cluster GKE. Poi, puoi personalizzare facoltativamente l'intervallo tra gli upgrade con il budget di interruzione dei cluster.
Ti consigliamo di utilizzare il budget di interruzione dei cluster insieme a gli altri strumenti disponibili offerti da GKE per controllare gli upgrade dei cluster. Queste impostazioni, che funzionano con tutti gli altri strumenti di upgrade, influiscono solo sulla tempistica dell'upgrade automatico di un cluster a una nuova versione da parte di GKE. GKE rispetta comunque i periodi di manutenzione e le esclusioni, segue l'ordine di una sequenza di rollout e applica tutte le altre pratiche standard in genere utilizzate per gli upgrade automatici.
Il budget di interruzione dei cluster predefinito è di 24 ore per gli upgrade patch e di 30 giorni per gli upgrade secondari. Puoi configurare gli intervalli per qualsiasi periodo di tempo compreso tra 0 e 90 giorni. Tuttavia, tieni presente le seguenti considerazioni quando aggiorni questi valori:
- Ti consigliamo di non impostare l'intervallo degli upgrade patch per un periodo superiore a 30 giorni, a meno che tu non abbia un processo di qualificazione della versione specifico che richieda più tempo. Potresti perdere patch critiche se esegui l'upgrade con una frequenza inferiore a 30 giorni.
- Ti consigliamo di consentire gli upgrade secondari con la frequenza accettabile per l'ambiente del cluster. Se imposti l'intervallo degli upgrade secondari al massimo di 90 giorni, aumenti la probabilità che GKE debba eseguire l'upgrade del cluster dalla versione secondaria quando raggiunge la fine dell'assistenza. GKE rispetta un budget di interruzione dei cluster separato per gli upgrade secondari di 7 giorni quando una versione secondaria raggiunge la fine dell'assistenza e non rispetta alcun budget di interruzione dei cluster configurato. Per maggiori informazioni, consulta la sezione Upgrade automatici alla fine dell' assistenza.
- Ti consigliamo di impostare l'intervallo degli upgrade patch per un periodo di tempo più breve rispetto all'intervallo degli upgrade secondari.
Prima di iniziare
Prima di iniziare, assicurati di aver eseguito le seguenti attività:
- Abilita l'API Google Kubernetes Engine. Abilita l'API Google Kubernetes Engine
- Per utilizzare Google Cloud CLI per questa attività,
installala e poi
inizializza gcloud CLI. Se hai già installato gcloud CLI, scarica l'ultima
versione eseguendo il
gcloud components updatecomando. Le versioni precedenti di gcloud CLI potrebbero non supportare l'esecuzione dei comandi in questo documento.
Configurare il budget di interruzione dei cluster
Innanzitutto, se non l'hai già fatto, ti consigliamo di configurare un periodo di manutenzione.
Poi, per impostare un budget di interruzione dei cluster personalizzato, utilizza i seguenti flag quando crei o aggiorni un cluster utilizzando gcloud CLI:
- Upgrade secondari:
--maintenance-minor-version-disruption-interval=MINOR_INTERVAL - Upgrade patch:
--maintenance-patch-version-disruption-interval=PATCH_INTERVAL
Per questi flag, sostituisci MINOR_INTERVAL o
PATCH_INTERVAL, rispettivamente, con una durata espressa
in secondi compresa tra 0 giorni (0s) e 90 giorni (7776000s).
Puoi utilizzare questi flag nelle seguenti situazioni:
- Crea un cluster:
- Autopilot:
gcloud container clusters create-auto - Standard:
gcloud container cluster create
- Autopilot:
- Aggiorna un cluster:
gcloud container cluster update
Puoi utilizzare i flag contemporaneamente o indipendentemente.
Reimpostare il budget di interruzione dei cluster sui valori predefiniti
Per reimpostare il budget di interruzione dei cluster sui valori predefiniti di 24 ore per gli upgrade patch e 30 giorni per gli upgrade secondari, puoi utilizzare i seguenti flag:
- Upgrade secondari:
--clear-maintenance-minor-version-disruption-interval - Upgrade patch:
--clear-maintenance-patch-version-disruption-interval
Utilizza questi flag quando aggiorni un cluster con il gcloud container cluster
update comando.
Puoi utilizzare i flag contemporaneamente o indipendentemente.