Configura periodi di manutenzione ed esclusioni


Utilizza periodi di manutenzione e periodi di manutenzione esclusioni controllare quando la manutenzione automatica del cluster, ad esempio gli upgrade automatici, può non possono essere presenti sui tuoi cluster Google Kubernetes Engine (GKE). Prima della configurazione di questi criteri di manutenzione, assicurati di esaminare cosa fare e cosa no rispettino la manutenzione di GKE .

Prima di iniziare

Prima di iniziare, assicurati di aver eseguito le seguenti attività:

  • Attiva l'API Google Kubernetes Engine.
  • Abilita l'API Google Kubernetes Engine .
  • Se vuoi utilizzare Google Cloud CLI per questa attività, install e poi initialize con gcloud CLI. Se hai già installato gcloud CLI, scarica la versione più recente eseguendo gcloud components update.

Configura un periodo di manutenzione

Per configurare un periodo di manutenzione, specifica quando inizia, quanto dura e la frequenza con cui si ripete. Ad esempio, puoi configurare un periodo di manutenzione con ricorrenza settimanale dal lunedì al venerdì per quattro ore al giorno.

Puoi configurare un periodo di manutenzione utilizzando la console Google Cloud o Google Cloud CLI.

Considerazioni relative alla configurazione di un periodo di manutenzione

Quando configuri un periodo di manutenzione, segui queste indicazioni:

  • Capire quali tipi di eventi di manutenzione vengono rispettati e quali no Periodi di manutenzione di GKE. Per scoprire di più, consulta la sezione Automatico di manutenzione che rispetti la manutenzione di GKE norme e Manutenzione automatica che non rispetta la manutenzione di GKE criteri.
  • Puoi configurare un solo periodo di manutenzione per un cluster la configurazione di una nuova finestra sovrascrive quella precedente.
  • Devi consentire almeno 48 ore di disponibilità per la manutenzione in un periodo di 32 giorni finestra temporale continua. Solo finestre di disponibilità contigue di almeno quattro ore vengono presi in considerazione.
  • Quando utilizzi la console Google Cloud, gli orari vengono sempre visualizzati utilizzando fuso orario.
  • Le ricorrenze del giorno della settimana sono sempre basate sul fuso orario UTC. Di conseguenza, consigliamo di impostare periodi di manutenzione che coinvolgano tali ricorrenze interamente in nel fuso orario UTC, tramite gcloud CLI. L'ora locale può essere usata quando l'impostazione dei flag, il fuso orario non verrà memorizzato. Ad esempio, se il fuso orario è UTC+6 e vuoi che il periodo di manutenzione inizi alle 02:00 di mercoledì nel tuo fuso orario, specifica un valore UTC pari a 20:00 per il martedì. Per ulteriori informazioni per saperne di più, consulta Fusi orari per la manutenzione .
  • Se il tuo cluster non riesce a completare gli upgrade dei nodi durante la manutenzione pianificata questo può rallentare la frequenza degli upgrade. Potresti dover fai esperimenti con la tua configurazione per trovare l'equilibrio ottimale tra velocità e interruzioni per il tuo ambiente. Fattori che possono influire sull'upgrade le tariffe includono:

    • Scarsa disponibilità di manutenzione (ad esempio brevi periodi di manutenzione).
    • Pool di nodi standard di grandi dimensioni.
    • Upgrade dei nodi di strategia e la tua configurazione di rete potendo ridurre le interruzioni rispetto alla velocità.
    • Alcune scelte di configurazione dei pod. Vedi Considerazioni sull'upgrade dei nodi durata per ulteriori informazioni.

Crea un cluster Standard con un semplice periodo di manutenzione

Puoi creare un semplice periodo di manutenzione in gcloud CLI che specifica il flag --maintenance-window. Questo flag consente di specificare di periodo di manutenzione giornaliera di 4 ore in un formato semplificato. Per creare un Cluster Autopilot con un periodo di manutenzione, usa la console Google Cloud.

Crea un nuovo cluster Standard con un semplice periodo di manutenzione:

gcloud container clusters create CLUSTER_NAME \
    --maintenance-window START_TIME

Sostituisci quanto segue:

  • CLUSTER_NAME: il nome del nuovo cluster.
  • START_TIME: un timestamp di 24 ore nel fuso orario UTC, ad esempio 16:00.

Il periodo di manutenzione viene eseguito ogni giorno al START_TIME e viene eseguito per quattro ore.

Crea un periodo di manutenzione personalizzato

Puoi creare un periodo di manutenzione che si verifica in determinati momenti della settimana mese utilizzando i parametri aggiuntivi spiegati in questa sezione.

Ad esempio, il comando seguente crea un cluster denominato my-cluster con un oggetto periodo di manutenzione abilitato alle ore 02:00 UTC di mercoledì 19 agosto 2026. Questo periodo di manutenzione inizia il lunedì e il venerdì e termina 30 ore dopo. La la prima occorrenza del periodo di manutenzione inizia venerdì 21 agosto alle ore 02:00 e termina sabato 22 agosto alle 08:00. Puoi scoprire di più su formattare date e ore.

gcloud container clusters create my-cluster \
    --maintenance-window-start 2026-08-19T02:00:00Z \
    --maintenance-window-end 2026-08-20T08:00:00Z \
    --maintenance-window-recurrence 'FREQ=WEEKLY:BYDAY=MO,FR'

Per ulteriori scenari, consulta gli esempi di periodi di manutenzione.

Crea un cluster con un periodo di manutenzione

Puoi creare un nuovo cluster Standard con un periodo di manutenzione utilizzando gcloud CLI o la console Google Cloud. Per creare un nuovo Autopilot con un periodo di manutenzione, utilizza nella console Google Cloud.

gcloud

Crea un nuovo cluster Standard con un periodo di manutenzione:

gcloud container clusters create CLUSTER_NAME \
    --maintenance-window-start START_TIME \
    --maintenance-window-end END_TIME \
    --maintenance-window-recurrence RRULE

Sostituisci quanto segue:

  • CLUSTER_NAME: il nome del nuovo cluster.
  • START_TIME: la data e l'ora in cui viene il periodo di manutenzione sia abilitato, espresso nel formato RFC-5545 Valore DTSTART. Dopodiché, il periodo di manutenzione si ripete in base a al RRULE. La START_TIME indica inoltre a che ora del giorno del periodo di manutenzione.
  • END_TIME: l'ora di fine per il calcolo del durata del periodo di manutenzione, espressa dalla quantità di tempo dopo START_TIME, nello stesso formato. La il valore di END_TIME deve essere nel futuro, rispetto a START_TIME.
  • RRULE: la ricorrenza del periodo di manutenzione. come indicato da RFC-5545 RRULE. Si tratta di un formato flessibile con diversi modi per specificare la ricorrenza che determinano il giorno di inizio del periodo di manutenzione. Ad esempio: puoi specificare la ricorrenza di determinati orari della settimana o del mese. Se La data di END_TIME è successiva alla data Data START_TIME, il periodo di manutenzione dura più giorni. Ad esempio, un periodo di manutenzione che inizia di domenica continua fino a lunedì.

Console

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Fai clic su Crea.

  3. Configura il cluster.

  4. Nel riquadro di navigazione, in Cluster, fai clic su Automazione.

  5. Seleziona la casella di controllo Abilita periodo di manutenzione.

  6. Seleziona l'ora di inizio e la durata, quindi seleziona i giorni della settimana durante il quale si verifica il periodo di manutenzione. Per modificare la regola di ricorrenza specifica (RRule), seleziona Editor personalizzato.

  7. Fai clic su Crea.

Configura un periodo di manutenzione per un cluster esistente

gcloud

Crea o aggiorna un periodo di manutenzione per un cluster esistente:

gcloud container clusters update CLUSTER_NAME \
    --maintenance-window-start START_TIME \
    --maintenance-window-end END_TIME \
    --maintenance-window-recurrence RRULE

Sostituisci quanto segue:

  • CLUSTER_NAME: il nome del nuovo cluster.
  • START_TIME: la data e l'ora in cui viene il periodo di manutenzione sia abilitato, espresso nel formato RFC-5545 Valore DTSTART. Dopodiché, il periodo di manutenzione si ripete in base a al RRULE. La START_TIME indica inoltre a che ora del giorno del periodo di manutenzione.
  • END_TIME: l'ora di fine per il calcolo del durata del periodo di manutenzione, espressa dalla quantità di tempo dopo START_TIME, nello stesso formato. La il valore di END_TIME deve essere nel futuro, rispetto a START_TIME.
  • RRULE: la ricorrenza del periodo di manutenzione. come indicato da RFC-5545 RRULE. Si tratta di un formato flessibile con diversi modi per specificare la ricorrenza che determinano il giorno di inizio del periodo di manutenzione. Ad esempio: puoi specificare la ricorrenza di determinati orari della settimana o del mese. Se La data di END_TIME è successiva alla data Data START_TIME, il periodo di manutenzione dura più giorni. Ad esempio, un periodo di manutenzione che inizia di domenica continua fino a lunedì.

Console

Per creare o modificare un periodo di manutenzione per un cluster esistente:

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Nell'elenco dei cluster, fai clic sul nome del cluster da modificare.

  3. In Automazione, fai clic su Modifica criterio di manutenzione. accanto al campo Periodo di manutenzione.

  4. Seleziona la casella di controllo Abilita periodo di manutenzione.

  5. Seleziona l'ora di inizio e la durata, quindi seleziona i giorni della settimana durante il quale si verifica il periodo di manutenzione. Per modificare direttamente la regola RRule, seleziona Editor personalizzato.

  6. Fai clic su Salva modifiche.

Termina manualmente la manutenzione incompleta

Se un upgrade o un'altra manutenzione automatica richiede più tempo della manutenzione finestra da completare, GKE tenta di interrompere la manutenzione in corso le attività e le riprende alla successiva occorrenza del periodo di manutenzione. Se un upgrade automatico viene annullato e gli upgrade automatici dei nodi sono abilitati, i nodi potrebbero essere in stato di versione mista, ma il cluster dovrebbe funzionare normalmente.

Per eseguire manualmente l'upgrade del cluster oppure per annullare o eseguire il rollback di un upgrade parziale, visita Eseguire manualmente l'upgrade di un cluster.

Rimuovere un periodo di manutenzione

gcloud

Rimuovi un periodo di manutenzione da un cluster:

gcloud container clusters update CLUSTER_NAME --clear-maintenance-window

Sostituisci CLUSTER_NAME con il nome del cluster esistente.

Console

Per rimuovere un periodo di manutenzione:

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Nell'elenco dei cluster, fai clic sul nome del cluster da modificare.

  3. In Automazione, fai clic su Modifica criterio di manutenzione. accanto al campo Periodo di manutenzione.

  4. Deseleziona la casella di controllo Abilita periodo di manutenzione.

  5. Fai clic su Salva modifiche.

Esempi di finestre di manutenzione

I seguenti esempi illustrano alcuni dei diversi modi in cui puoi configurare un periodo di manutenzione. Vengono mostrati solo i flag pertinenti, in quanto usano la stessa sintassi per creare un nuovo cluster o aggiornarne uno esistente.

Fine settimana, a partire dal 22 agosto 2026

In questo esempio, la differenza tra i timestamp di inizio e di fine è di due giorni interi, quindi il periodo di manutenzione dura tutto il fine settimana, Sabato e domenica. Se vuoi che la finestra sia di lunghezza diversa rispetto a esattamente 48 ore, modifica -start per cambiare l'ora di inizio della finestra, o -end per modificare la lunghezza totale della finestra.

--maintenance-window-start 2026-08-22T00:00:00Z \
--maintenance-window-end 2026-08-24T00:00:00Z \
--maintenance-window-recurrence 'FREQ=WEEKLY;BYDAY=SA'
Tutti i giorni, nei giorni feriali dalle 09:00 alle 17:00 UTC-4

Questo esempio mostra come avere un periodo di manutenzione giornaliera, ma non i fine settimana. Questo esempio specifica un fuso orario non UTC.

--maintenance-window-start 2026-09-02T09:00:00-04:00 \
--maintenance-window-end 2026-09-02T17:00:00-04:00 \
--maintenance-window-recurrence 'FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR'
Ogni settimana alle 16:00 per 8 ore, UTC-7

Se non specifichi un fuso orario per --maintenance-window-start, ora locale , come configurato nel tuo account Google Cloud. La console Google Cloud utilizza sempre l'ora locale.

--maintenance-window-start 2026-08-13T16:00:00-7:00 \
--maintenance-window-end 2026-08-14T00:00:00-7:00 \
--maintenance-window-recurrence 'FREQ=WEEKLY'
Giorni feriali di notte

Questo esempio mostra un periodo di manutenzione giornaliera durante la notte tra giorni lavorativi nel fuso orario UTC-7. In questo esempio, la finestra viene eseguita alle 20:00 di sera fino alle 4 del mattino successivo.

 --maintenance-window-start 2026-08-15T20:00:00-7:00 \
 --maintenance-window-end 2026-08-16T04:00:00-7:00 \
 --maintenance-window-recurrence 'FREQ=WEEKLY;BYDAY=MO,TU,WE,TH'

Configura un'esclusione di manutenzione

Per configurare un'esclusione di manutenzione per il tuo cluster, devi specificare quanto segue:

  • Nome: il nome dell'esclusione (facoltativo).
  • Start time (Ora di inizio): la data e l'ora di inizio del periodo di esclusione.
  • End time (Ora di fine): la data e l'ora di fine del periodo di esclusione. Per le limitazioni relative alla durata del periodo di esclusione per ciascuno degli ambiti disponibili, consulta la tabella seguente.
  • Ambito: l'ambito degli upgrade automatici da limitare. Consulta la seguente tabella che elenca gli ambiti di esclusione disponibili.
Ambito Descrizione Lunghezza massima di esclusione
Nessun upgrade (opzione predefinita) Sono esclusi tutti gli upgrade di patch e minori. Evita le interruzioni delle VM dal piano di controllo e dai nodi del cluster dagli upgrade. Non può superare i 30 giorni.
Nessun upgrade secondario Sono esclusi tutti gli upgrade di minorenni. Le interruzioni delle VM possono verificarsi dal piano di controllo e dai nodi, per via degli upgrade delle patch. Non può terminare più di 180 giorni dopo la data di creazione dell'esclusione. Per registrati nei canali Rapido, Regolare o Stabile, non possono si estendono oltre la fine dell'assistenza standard. Per i cluster registrati nel canale Extended, non può estendersi oltre il fine del supporto esteso della versione in modo minore.
Nessun upgrade secondario o di nodi Sono esclusi tutti gli upgrade secondari e gli upgrade dei nodi. Evita interruzioni delle VM dai nodi del cluster dagli upgrade. Tuttavia, le interruzioni possono verificarsi il piano di controllo. Non può terminare più di 180 giorni dopo la data di creazione dell'esclusione. Per registrati nei canali Rapido, Regolare o Stabile, non possono si estendono oltre la fine dell'assistenza standard. Per i cluster registrati nel canale Extended, non può estendersi oltre il fine del supporto esteso della versione in modo minore.

Per le definizioni delle versioni secondarie e delle patch, consulta Schema di controllo delle versioni.

Crea un cluster con un'esclusione di manutenzione

Puoi configurare un'esclusione di manutenzione quando crei un nuovo cluster utilizzando la console Google Cloud. Questa attività non può essere eseguita in gcloud CLI.

Per creare un nuovo cluster con un'esclusione di manutenzione:

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Fai clic su Crea.

  3. Configura il cluster.

  4. Nel riquadro di navigazione, in Cluster, fai clic su Automazione.

  5. In Esclusioni di manutenzione, fai clic su Aggiungi esclusione per la manutenzione.

  6. Seleziona l'Ambito, un'Ora di inizio e un'Ora di fine.

  7. Fai clic su Crea.

Puoi vedere un esempio esclusione della manutenzione per il Black Friday.

Configura un'esclusione di manutenzione per un cluster esistente

Puoi configurare un'esclusione di manutenzione su un cluster esistente utilizzando il metodo console Google Cloud o gcloud CLI.

gcloud

Configura un'esclusione di manutenzione per un cluster esistente:

gcloud container clusters update CLUSTER_NAME \
    --add-maintenance-exclusion-name EXCLUSION_NAME \
    --add-maintenance-exclusion-start START_DATE_TIME \
    --add-maintenance-exclusion-end END_DATE_TIME \
    --add-maintenance-exclusion-scope SCOPE

Sostituisci quanto segue:

  • CLUSTER_NAME: il nome del tuo cluster.
  • EXCLUSION_NAME: il nome dell'esclusione di manutenzione.
  • START_DATE_TIME: data e ora di inizio per l'esclusione.
  • END_DATE_TIME: la data e l'ora di fine dell'esclusione.
  • SCOPE: l'ambito dell'upgrade da escludere, che può essere essere uno dei seguenti valori: no_upgrades, no_minor_upgrades o no_minor_or_node_upgrades.

Per visualizzare i formati di data e ora supportati, esegui gcloud topic datetimes.

Console

Per configurare un'esclusione di manutenzione per un cluster esistente:

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Nell'elenco dei cluster, fai clic sul nome del cluster da modificare.

  3. In Automazione, accanto al campo Esclusioni di manutenzione, fai clic su Modifica esclusioni di manutenzione.

  4. In Esclusioni di manutenzione, fai clic su Aggiungi esclusione per la manutenzione.

  5. Seleziona l'Ambito, un'Ora di inizio e un'Ora di fine.

  6. Fai clic su Salva modifiche.

Rimuovere un'esclusione di manutenzione

Puoi rimuovere le esclusioni di manutenzione utilizzando la console Google Cloud o con gcloud CLI.

gcloud

Rimuovi un'esclusione di manutenzione esistente:

gcloud container clusters update CLUSTER_NAME \
    --remove-maintenance-exclusion EXCLUSION_NAME

Sostituisci quanto segue:

  • CLUSTER_NAME: il nome del cluster esistente.
  • EXCLUSION_NAME: il nome della manutenzione esclusione da rimuovere.

Console

Per rimuovere un'esclusione di manutenzione da un cluster esistente:

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Nell'elenco dei cluster, fai clic sul nome del cluster da modificare.

  3. In Automazione, accanto al campo Esclusioni di manutenzione, fai clic su Modifica esclusioni di manutenzione.

  4. In Esclusioni di manutenzione, fai clic su Elimina elemento accanto al campo Ora di fine per l'esclusione da rimuovere.

  5. Fai clic su Salva modifiche.

Per visualizzare tutte le esclusioni di manutenzione su un cluster, puoi visualizza il criterio di manutenzione del cluster.

Esempio di esclusione dalla manutenzione

L'esempio seguente impedisce la manutenzione nell'arco di quattro giorni che include Black Friday fino al Cyber Monday, il periodo dell'anno con il maggior volume di vendite per molte attività di vendita al dettaglio. Questo esempio mostra come evitare che si verifichi un periodo di manutenzione Dal Black Friday 2021 (26 novembre 2021) al Cyber Monday 2021 (29 novembre 2021), dalla mezzanotte della costa orientale degli Stati Uniti (UTC-5) alle 23:59:59 del Pacifico (UTC-8).

gcloud container clusters update sample-cluster \
    --add-maintenance-exclusion-name black-friday \
    --add-maintenance-exclusion-start 2021-11-26T00:00:00-05:00 \
    --add-maintenance-exclusion-end 2021-11-29T23:59:59-08:00 \
    --add-maintenance-exclusion-scope no_upgrades

Visualizza il criterio di manutenzione di un cluster

Per visualizzare il criterio di manutenzione di un cluster, inclusa l'eventuale presenza di un finestra di dialogo e tutte le esclusioni di manutenzione, utilizza il seguente comando:

gcloud container clusters describe CLUSTER_NAME

Risoluzione dei problemi

La limitazione dell'ambito delle esclusioni di manutenzione può essere applicata solo ai canali di rilascio

Quando limiti l'ambito degli upgrade automatici in un'esclusione di manutenzione, il cluster deve essere registrato in un canale di rilascio, altrimenti potresti riscontrare i seguenti errori:

ERROR: (gcloud.container.clusters.update) INVALID_ARGUMENT: Cannot update to
STATIC channel since following maintenancePolicy.maintenanceExclusions can only
apply to release channels. Please remove those maintenance exclusions.
ERROR: (gcloud.container.clusters.update) ResponseError: code=400,
message=MaintenancePolicy.maintenanceExclusions["no"] could not apply to cluster
in STATIC channel, only no_upgrades exclusions are allowed in STATIC channel.

Le esclusioni di manutenzione superano il limite

Puoi specificare un massimo di 3 esclusioni di manutenzione che escludono tutte (ovvero un ambito di "nessun upgrade"), altrimenti riceverai il seguente errore:

ERROR: (gcloud.container.clusters.update) ResponseError: code=400,
message=Number of active maintenance exclusions exceeds limit (3).

Puoi specificare un massimo di 20 esclusioni di manutenzione in totale, altrimenti ricevi il seguente errore:

ERROR: (gcloud.container.clusters.update) ResponseError: code=400,
message=Number of total maintenance exclusions exceeds limit (20).

Passaggi successivi