Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Questa pagina spiega come definire le finestre di manutenzione per i tuoi ambienti.
Informazioni sui periodi di manutenzione
Un periodo di manutenzione è un periodo di tempo durante il quale consenti a Cloud Composer di eseguire operazioni di manutenzione. Ad esempio, puoi assicurarti che le esecuzioni di attività critiche non vengano interrotte specificando finestre di manutenzione al di fuori degli orari di pianificazione del DAG.
Con i periodi di manutenzione, hai il controllo sui periodi di tempo in cui può essere eseguita la manutenzione per il tuo ambiente:
Se definisci periodi di manutenzione personalizzati per il tuo ambiente, Cloud Composer esegue la manutenzione durante questi periodi definiti.
Se non definisci finestre di manutenzione personalizzate per il tuo ambiente o specifichi un valore vuoto, Cloud Composer esegue la manutenzione durante le finestre di manutenzione predefinite.
Cosa succede durante i periodi di manutenzione
Quando specifichi i periodi di manutenzione, devi fornire almeno 12 ore di tempo in una singola settimana per le operazioni di manutenzione:
Il tuo ambiente rimane disponibile durante i periodi di manutenzione. Alcuni componenti del tuo ambiente potrebbero diventare temporaneamente non disponibili durante le operazioni di manutenzione.
Le 12 ore sono necessarie per consentire a Cloud Composer di avere tempo sufficiente per pianificare ed eseguire tutte le operazioni di manutenzione. Ciò non significa che le operazioni di manutenzione durino 12 ore o che si verifichino ogni settimana.
Puoi comunque eseguire i DAG durante i periodi di manutenzione, a condizione che sia accettabile che alcune attività possano essere interrotte e riprovate. Se esegui DAG durante i periodi di manutenzione, assicurati di attivare i tentativi di esecuzione di nuovo delle attività. Puoi configurare i tentativi di attività a livello di configurazione di Airflow, DAG o attività.
Le operazioni di manutenzione hanno i seguenti effetti sul tuo ambiente:
L'interfaccia utente di Airflow potrebbe essere temporaneamente non disponibile.
Cloud Composer potrebbe eseguire un'operazione di upgrade automatico dell'infrastruttura se sono disponibili upgrade.
La modifica di alcuni parametri dell'ambiente potrebbe non essere possibile temporaneamente.
Alcune attività di Airflow possono essere interrotte. Al termine dell'operazione di manutenzione, Airflow pianifica i tentativi di nuovo per queste attività (se non diversamente configurato).
Periodi di manutenzione predefiniti
I periodi di manutenzione predefiniti in Cloud Composer 3 sono definiti nel seguente modo:
- Tutti gli orari sono espressi nel fuso orario locale della regione in cui si trova il tuo ambiente, ma l'ora legale viene ignorata.
- Martedì, mercoledì, giovedì e venerdì, i periodi di manutenzione vanno dalle 00:00:00 alle 02:00:00.
- Sabato, domenica e lunedì, i periodi di manutenzione vanno dalle 00:00:00 alle 04:00:00.
Come utilizzare i periodi di manutenzione
Le operazioni di manutenzione potrebbero influire sull'esecuzione dei DAG e delle attività Airflow, pertanto ti consigliamo di procedere nel seguente modo:
Definisci le finestre di manutenzione per i tuoi ambienti Cloud Composer.
Pianifica le esecuzioni dei DAG al di fuori dei periodi di manutenzione specificati utilizzando i parametri
start_date
eschedule_interval
nei tuoi DAG.
Specificare i periodi di manutenzione per i nuovi ambienti
Puoi specificare i periodi di manutenzione quando crei un ambiente. Per ulteriori informazioni, consulta Creare ambienti.
Specificare i periodi di manutenzione per gli ambienti esistenti
Console
Per definire o modificare i periodi di manutenzione per un ambiente esistente, aggiorna l'ambiente:
Nella console Google Cloud, vai alla pagina Ambienti.
Seleziona il tuo ambiente.
Vai alla scheda Configurazione dell'ambiente.
Accanto alla voce Finestre di manutenzione, fai clic su Modifica.
Nella finestra di dialogo Periodi di manutenzione, seleziona la casella di controllo Imposta un orario personalizzato per i periodi di manutenzione.
Imposta Ora di inizio, Fuso orario, Giorni e Durata in modo che il tempo combinato per la pianificazione specificata sia di almeno 12 ore in un periodo di 7 giorni. Ad esempio, un periodo di 4 ore ogni lunedì, mercoledì e venerdì fornisce la durata richiesta.
Fai clic su Salva e attendi che l'ambiente venga aggiornato.
gcloud
Quando aggiorni un ambiente, i seguenti argomenti definiscono i parametri delle finestre di manutenzione:
--maintenance-window-start
imposta l'ora di inizio di un periodo di manutenzione.--maintenance-window-end
imposta l'ora di fine di un periodo di manutenzione.--maintenance-window-recurrence
imposta la ricorrenza del periodo di manutenzione.
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--maintenance-window-start 'DATETIME_START' \
--maintenance-window-end 'DATETIME_END' \
--maintenance-window-recurrence 'MAINTENANCE_RECURRENCE'
Sostituisci:
ENVIRONMENT_NAME
con il nome dell'ambiente.DATETIME_START
con la data e l'ora di inizio nel formato di immissione della data/dell'ora. Viene utilizzata solo la ora specificata del giorno, mentre la data specificata viene ignorata.DATETIME_END
con la data e l'ora di fine nel formato di immissione della data/dell'ora. Viene utilizzata solo la ora specificata del giorno, mentre la data specificata viene ignorata. La data e l'ora specificate devono essere successive alla data di inizio.MAINTENANCE_RECURRENCE
con una regola RRULE RFC 5545 per la ricorrenza dei periodi di manutenzione. Cloud Composer supporta due formati:Il formato
FREQ=DAILY
specifica una ricorrenza giornaliera.Il formato
FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA
specifica una ripetizione in giorni della settimana selezionati.
L'esempio seguente specifica un periodo di manutenzione di 6 ore tra le 01:00 e le 07:00 (UTC) di mercoledì, sabato e domenica. La data 1° gennaio 2023 viene ignorata.
gcloud composer environments update example-environment \
--location us-central1 \
--maintenance-window-start '2023-01-01T01:00:00Z' \
--maintenance-window-end '2023-01-01T07:00:00Z' \
--maintenance-window-recurrence 'FREQ=WEEKLY;BYDAY=SU,WE,SA'
API
Crea una richiesta API
environments.patch
.In questa richiesta:
Nel parametro
updateMask
, specifica la mascheraconfig.maintenanceWindow
.Nel corpo della richiesta, specifica i parametri per i periodi di manutenzione.
{
"config": {
"maintenanceWindow": {
"startTime": "DATETIME_START",
"endTime": "DATETIME_END",
"recurrence": "MAINTENANCE_RECURRENCE"
}
}
}
Sostituisci:
DATETIME_START
con la data e l'ora di inizio nel formato di immissione della data/dell'ora. Viene utilizzata solo l'ora specificata del giorno, mentre la data specificata viene ignorata.DATETIME_END
con la data e l'ora di fine nel formato di immissione della data/dell'ora. Viene utilizzata solo l'ora specificata del giorno, mentre la data specificata viene ignorata. La data e l'ora specificate devono essere successive alla data di inizio.MAINTENANCE_RECURRENCE
con una regola RRULE RFC 5545 per la ricorrenza dei periodi di manutenzione. Cloud Composer supporta due formati:- Il formato
FREQ=DAILY
specifica una ricorrenza giornaliera. - Il formato
FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA
specifica una ripetizione in giorni della settimana selezionati.
- Il formato
L'esempio seguente specifica un periodo di manutenzione di 6 ore tra le 01:00 e le 07:00 (UTC) di mercoledì, sabato e domenica. La data 1° gennaio 2023 viene ignorata.
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.maintenanceWindow
{
"config": {
"maintenanceWindow": {
"startTime": "2023-01-01T01:00:00Z",
"endTime": "2023-01-01T07:00:00Z",
"recurrence": "FREQ=WEEKLY;BYDAY=SU,WE,SA"
}
}
}
Terraform
Il blocco maintenance_window
specifica i periodi di manutenzione per il tuo ambiente:
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
maintenance_window {
start_time = "DATETIME_START"
end_time = "DATETIME_END"
recurrence = "MAINTENANCE_RECURRENCE"
}
}
}
Sostituisci:
ENVIRONMENT_NAME
con il nome dell'ambiente.LOCATION
con la regione in cui si trova l'ambiente.DATETIME_START
con la data e l'ora di inizio nel formato di immissione della data/dell'ora. Viene utilizzata solo l'ora specificata del giorno, mentre la data specificata viene ignorata.DATETIME_END
con la data e l'ora di fine nel formato di immissione della data/dell'ora. Viene utilizzata solo l'ora specificata del giorno, mentre la data specificata viene ignorata. La data e l'ora specificate devono essere successive alla data di inizio.MAINTENANCE_RECURRENCE
con una regola RRULE RFC 5545 per la ricorrenza dei periodi di manutenzione. Cloud Composer supporta due formati:- Il formato
FREQ=DAILY
specifica una ricorrenza giornaliera. - Il formato
FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA
specifica una ripetizione in giorni della settimana selezionati.
- Il formato
L'esempio seguente specifica un periodo di manutenzione di 6 ore tra le 01:00 e le 07:00 (UTC) di mercoledì, sabato e domenica. La data 1° gennaio 2023 viene ignorata.
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
maintenance_window {
start_time = "2023-01-01T01:00:00Z"
end_time = "2023-01-01T07:00:00Z"
recurrence = "FREQ=WEEKLY;BYDAY=SU,WE,SA"
}
}
}