Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Questa pagina spiega come aggiornare un ambiente.
Informazioni sulle operazioni di aggiornamento
Quando modifichi i parametri dell'ambiente, ad esempio specificando nuovi parametri di scalabilità e rendimento o installando pacchetti PyPI personalizzati, l'ambiente viene aggiornato.
Al termine di questa operazione, le modifiche diventano disponibili nel tuo ambiente.
Per un singolo ambiente Cloud Composer, puoi avviare una sola operazione di aggiornamento alla volta. Devi attendere il completamento di un'operazione di aggiornamento prima di avviare un'altra operazione sull'ambiente.
Limiti di CPU dell'attivatore
Cloud Composer nella versione 2.4.4 introduce un approccio diverso di scalabilità delle prestazioni per il componente trigger di Airflow, che si applica a tutte le versioni di Cloud Composer 2.
Prima della versione 2.4.4, gli ambienti Cloud Composer potevano utilizzare un massimo di 1 o 2 trigger. Dopo la modifica, puoi avere fino a 10 trigger per ambiente, ma ogni trigger è limitato a un massimo di 1 vCPU.
Le operazioni di aggiornamento dell'ambiente non vengono completate se l'ambiente è configurato con più di 1 vCPU per attivatore. Per eseguire aggiornamenti su altri componenti, devi modificare la configurazione in modo che rispetti il limite di 1 vCPU.
Per ulteriori informazioni, vedi:
- Configurare l'allocazione delle risorse del trigger
- Regolare il conteggio dei triggerer
- Risolvi i problemi relativi all'upgrade dell'ambiente: CPU dell'attivatore superata
Come gli aggiornamenti influiscono sull'esecuzione delle attività Airflow
Quando esegui un'operazione di aggiornamento, gli scheduler e i worker di Airflow nel tuo ambiente potrebbero richiedere un riavvio. In questo caso, tutte le attività attualmente in esecuzione vengono terminate. Al termine dell'operazione di aggiornamento, Airflow pianifica questi task per un nuovo tentativo, a seconda di come configuri i nuovi tentativi per i tuoi DAG.
Le seguenti modifiche causano l'interruzione dell'attività Airflow:
- Eseguire l'upgrade dell'ambiente a una nuova versione.
- Aggiunta, modifica o eliminazione di pacchetti PyPI personalizzati.
- Modifica delle variabili di ambiente Cloud Composer.
- Aggiunta o rimozione degli override delle opzioni di configurazione di Airflow o modifica dei relativi valori.
- Modifica di CPU, memoria o spazio di archiviazione dei worker Airflow.
Riduzione del numero massimo di worker Airflow, se il nuovo valore è inferiore al numero di worker attualmente in esecuzione. Ad esempio, se un ambiente attualmente esegue tre worker e il massimo viene ridotto a due.
Modifica della modalità di resilienza dell'ambiente.
Le seguenti modifiche non causano la terminazione dell'attività Airflow:
- Creazione, aggiornamento o eliminazione di un DAG (non un'operazione di aggiornamento).
- Messa in pausa o riattivazione dei DAG (non un'operazione di aggiornamento).
- Modifica delle variabili Airflow (non un'operazione di aggiornamento).
- Modifica delle connessioni Airflow (non un'operazione di aggiornamento).
- Abilitazione o disabilitazione dell'integrazione della derivazione dei dati del Catalogo universale Dataplex.
- Modifica delle dimensioni dell'ambiente.
- Modifica del numero di scheduler.
- Modifica di CPU, memoria o spazio di archiviazione degli scheduler Airflow.
- Modifica del numero di triggerer.
- Modifica di CPU, memoria o spazio di archiviazione dei trigger di Airflow.
- Modifica di CPU, memoria o spazio di archiviazione del server web Airflow.
- Aumentare o diminuire il numero minimo di worker.
- Riduzione del numero massimo di worker Airflow. Ad esempio, se un ambiente attualmente esegue due worker e il massimo viene ridotto a tre.
- Modifica dei periodi di manutenzione.
- Modifica delle impostazioni degli snapshot pianificati.
- Modifica delle etichette dell'ambiente.
Aggiornamento con Terraform
Esegui terraform plan
prima di terraform apply
per verificare se Terraform crea un nuovo
ambiente anziché aggiornarlo.
Prima di iniziare
Verifica che il tuo account, il account di servizio del tuo ambiente e il service agent Cloud Composer nel tuo progetto dispongano delle autorizzazioni richieste:
Il tuo account deve avere un ruolo che possa attivare le operazioni di aggiornamento dell'ambiente.
Il account di servizio del tuo ambiente deve disporre di un ruolo che disponga di autorizzazioni sufficienti per eseguire operazioni di aggiornamento.
L'account agente di servizio Cloud Composer deve disporre delle autorizzazioni per creare binding tra il account di servizio del tuo ambiente e il account di servizio Kubernetes del cluster del tuo ambiente.
Il comando
gcloud composer environments update
termina al termine dell'operazione. Puoi utilizzare il flag--async
per evitare di attendere il completamento dell'operazione.
Aggiornamento degli ambienti
Per saperne di più sull'aggiornamento dell'ambiente, consulta le altre pagine della documentazione relative a operazioni di aggiornamento specifiche. Ad esempio:
- Esegui l'override delle opzioni di configurazione di Airflow
- Imposta le variabili di ambiente
- Installa le dipendenze Python
Visualizzare i dettagli dell'ambiente
Console
Nella console Google Cloud , vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome del tuo ambiente. Viene visualizzata la pagina Dettagli ambiente.
gcloud
Esegui questo comando gcloud
:
gcloud composer environments describe ENVIRONMENT_NAME \
--location LOCATION
Sostituisci:
ENVIRONMENT_NAME
con il nome dell'ambiente.LOCATION
con la regione in cui si trova l'ambiente.
API
Crea una richiesta API environments.get
.
Esempio:
GET https://composer.googleapis.com/v1/projects/example-project/
locations/us-central1/environments/example-environment
Terraform
Esegui il comando terraform state show
per la risorsa del tuo ambiente.
Il nome della risorsa Terraform del tuo ambiente potrebbe essere diverso dal nome dell'ambiente.
terraform state show google_composer_environment.RESOURCE_NAME
Sostituisci:
RESOURCE_NAME
con il nome della risorsa del tuo ambiente.
Rollback delle modifiche all'aggiornamento
In alcune rare situazioni, un'operazione di aggiornamento potrebbe essere interrotta (ad esempio, a causa di un timeout) e le modifiche richieste potrebbero non essere ripristinate in tutti i componenti dell'ambiente (ad esempio, il web server Airflow).
Ad esempio, un'operazione di aggiornamento potrebbe installare o rimuovere moduli PyPI aggiuntivi, ridefinire o definire una nuova variabile di ambiente Airflow o Cloud Composer oppure modificare alcuni parametri correlati ad Airflow.
Una situazione del genere potrebbe verificarsi se viene attivata un'operazione di aggiornamento mentre sono in corso altre operazioni, ad esempio lo scaling automatico del cluster Cloud Composer o un'operazione di manutenzione.
In una situazione del genere, ti consigliamo di ripetere l'operazione.
Durata delle operazioni di aggiornamento o upgrade
La durata delle operazioni di aggiornamento e upgrade è influenzata dai seguenti fattori:
La maggior parte delle operazioni di aggiornamento o upgrade richiede il riavvio dei componenti di Airflow come scheduler, worker e server web di Airflow. Dopo il riavvio di un componente, è necessario inizializzarlo. Durante l'inizializzazione, gli scheduler e i worker di Airflow scaricano i contenuti delle cartelle
/dags
e/plugins
dal bucket dell'ambiente. Il processo di sincronizzazione dei file con gli scheduler e i worker di Airflow non è istantaneo e dipende dalle dimensioni e dal numero totali di tutti gli oggetti in queste cartelle.Ti consigliamo di conservare solo i file DAG e dei plug-in nelle cartelle
/dags
e/plugins
(rispettivamente) e di rimuovere tutti gli altri file. Troppi dati nelle cartelle/dags
e/plugins
potrebbero rallentare l'inizializzazione dei componenti Airflow e, in alcuni casi, renderla impossibile.Ti consigliamo di conservare meno di 30 MB di dati nelle cartelle
/dags
e/plugins
e di non superare assolutamente i 100 MB di dimensioni dei dati. Per ulteriori informazioni, vedi anche Gestione di un numero elevato di DAG e plug-inLe dimensioni del database Airflow potrebbero aumentare notevolmente il tempo delle operazioni di upgrade. Ti consigliamo di mantenere le dimensioni del database Airflow mantenendo il database Airflow del tuo ambiente.