Controllare la frequenza delle interruzioni dovute agli upgrade automatici

Questo documento introduce il concetto di budget di interruzione del cluster e spiega come personalizzarli in base alle esigenze del tuo ambiente. I budget per l'interruzione del cluster sono uno strumento di una suite di funzionalità che consentono a un amministratore della piattaforma di ridurre al minimo l'interruzione dei carichi di lavoro, migliorandone al contempo le prestazioni, l'affidabilità e la sicurezza.

Gli upgrade del cluster, ovvero quando GKE aggiorna la versione utilizzata dal control plane e dai nodi del cluster, possono essere una delle principali fonti di interruzione per un cluster GKE. Per saperne di più sugli upgrade, consulta Informazioni sugli upgrade dei cluster GKE. Per scoprire di più su tutte le altre funzionalità per ridurre al minimo le interruzioni durante gli upgrade del cluster, consulta la sezione Controllare gli upgrade del cluster di questo documento. Per maggiori informazioni generali sulle modifiche al ciclo di vita del cluster oltre agli upgrade, consulta Gestire le modifiche al ciclo di vita del 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 del 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 control plane. Inoltre, se esegui manualmente l'upgrade del control plane del cluster, GKE rispetta il budget per l'interruzione del cluster quando esegue l'upgrade automatico successivo. Puoi sempre eseguire manualmente l'upgrade del cluster, anche se questo upgrade viola il budget di interruzione del cluster.

In un cluster, GKE esegue automaticamente l'upgrade del control plane 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 delle versioni:

  • 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 le versioni 1.34 e 1.35. Tuttavia, GKE attende 24 ore dopo un upgrade secondario prima di eseguire un upgrade della patch.

GKE utilizza un budget per l'interruzione del cluster solo per gli upgrade del cluster e non per altri tipi di modifiche a un cluster GKE.

Il budget di interruzione del cluster è distinto da, ma può essere abbinato a, periodi di manutenzione ed esclusioni. I criteri di manutenzione controllano quando può essere eseguita la manutenzione del cluster GKE, mentre il budget di interruzione del cluster imposta un intervallo di tempo specifico tra gli upgrade del 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 il tuo ambiente cluster.

Se vuoi controllare questo tempo minimo tra gli upgrade automatici del cluster, puoi configurare il budget per l'interruzione del cluster. Considera, ad esempio, i seguenti scenari:

  • Hai una procedura personalizzata per valutare una versione patch del piano di controllo GKE prima di eseguirne il push in produzione e questa procedura richiede un periodo di tempo specifico superiore al budget del cluster predefinito.
  • Hai cluster di grandi dimensioni per i quali è necessario più tempo per eseguire l'upgrade di tutti i pool di nodi. Vuoi mantenere una coerenza relativa delle versioni in questi pool di nodi. Pertanto, riduci la frequenza degli upgrade delle patch, eseguendo l'upgrade mensilmente, consentendo finestre di manutenzione frequenti per garantire che gli upgrade del pool di nodi vengano completati in modo tempestivo.

Imposta il budget di interruzione dei cluster per gli upgrade automatici

Se hai un'esigenza specifica di controllare l'intervallo tra due aggiornamenti secondari o due aggiornamenti delle patch, puoi impostare i tuoi budget di interruzione del cluster. Tuttavia, ti consigliamo di iniziare configurando una finestra di manutenzione per impostare un orario ricorrente per la manutenzione del cluster GKE. Poi, se vuoi, puoi personalizzare l'intervallo tra gli upgrade con il budget di interruzione del cluster.

Ti consigliamo di utilizzare il budget per l'interruzione del cluster insieme agli altri strumenti disponibili offerti da GKE per controllare gli upgrade del cluster. Queste impostazioni, che funzionano con tutti gli altri strumenti di upgrade, influiscono solo sulla tempistica dell'upgrade automatico di GKE di un cluster a una nuova versione. GKE rispetta comunque i periodi di manutenzione e le esclusioni, segue l'ordine di una sequenza di implementazione e applica qualsiasi altra pratica standard in genere utilizzata per gli upgrade automatici.

Il budget di interruzione del cluster predefinito è di 24 ore per gli upgrade delle 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, quando aggiorni questi valori, tieni presente quanto segue:

  • Ti consigliamo di non impostare l'intervallo di upgrade delle patch su un periodo superiore a 30 giorni, a meno che tu non abbia una procedura di qualifica della versione specifica 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 di 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 del supporto. GKE rispetta un budget di interruzione del cluster separato per gli upgrade secondari di 7 giorni quando una versione secondaria raggiunge la fine del supporto e non rispetta alcun budget di interruzione del cluster configurato. Per saperne di più, consulta Upgrade automatici alla fine del supporto.
  • Ti consigliamo di impostare l'intervallo di upgrade delle patch per un periodo di tempo più breve rispetto all'intervallo di upgrade secondari.

Prima di iniziare

Prima di iniziare, assicurati di aver eseguito le seguenti operazioni:

  • Attiva l'API Google Kubernetes Engine.
  • Attiva l'API Google Kubernetes Engine
  • Se vuoi 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 comando gcloud components update. Le versioni precedenti di gcloud CLI potrebbero non supportare l'esecuzione dei comandi in questo documento.

Configura il budget di interruzione del cluster

Innanzitutto, se non l'hai ancora fatto, ti consigliamo di configurare una finestra di manutenzione.

Poi, per impostare un budget personalizzato per l'interruzione del cluster, utilizza i seguenti flag quando crei o aggiorni un cluster utilizzando gcloud CLI:

  • Aggiornamenti secondari: --maintenance-minor-version-disruption-interval=MINOR_INTERVAL
  • Aggiornamenti delle 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:

Puoi utilizzare i flag contemporaneamente o in modo indipendente.

Reimposta il budget di interruzione del cluster sui valori predefiniti

Per reimpostare il budget di interruzione del cluster sui valori predefiniti di 24 ore per gli upgrade delle patch e 30 giorni per gli upgrade secondari, puoi utilizzare i seguenti flag:

  • Aggiornamenti secondari: --clear-maintenance-minor-version-disruption-interval
  • Aggiornamenti delle patch: --clear-maintenance-patch-version-disruption-interval

Utilizza questi flag quando aggiorni un cluster con il comando gcloud container cluster update.

Puoi utilizzare i flag contemporaneamente o in modo indipendente.