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.
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 il nuovo tentativo di esecuzione di queste attività, a seconda della modalità di configurazione dei nuovi tentativi per i 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.
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.
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.
Eseguire l'upgrade del tipo di macchina per i nodi GKE
Puoi eseguire l'upgrade manuale del tipo di macchina per il cluster GKE del tuo ambiente eliminando il default-pool
esistente e creando un nuovo default-pool
con il tipo di macchina desiderato.
Ti consigliamo di specificare un tipo di macchina adatto al tipo di elaborazione che si verifica nel tuo ambiente Cloud Composer quando crei un ambiente.
Se esegui job che eseguono calcoli che richiedono molte risorse, ti consigliamo di utilizzare gli operatori GKE.
Dopo un upgrade, il tipo di macchina precedente è ancora elencato nei dettagli dell'ambiente. Ad esempio, la pagina dei dettagli dell'ambiente non riflette il nuovo tipo di macchina.
Console
Per eseguire l'upgrade del tipo di macchina:
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.
Recupera informazioni sul pool di nodi predefinito:
Vai alla scheda Configurazione ambiente.
Fai clic sul link Visualizza dettagli cluster.
Nella pagina Cluster, nella sezione Nodi, fai clic su default-pool.
Prendi nota di tutte le informazioni relative a default-pool nella pagina Dettagli del pool di nodi. Utilizza queste informazioni per creare un nuovo pool di nodi predefinito per il tuo ambiente.
Per eliminare default-pool:
Nella pagina Dettagli del pool di nodi, fai clic sulla freccia indietro per tornare alla pagina Cluster del tuo ambiente.
Nella sezione Pool di nodi, fai clic sull'icona del cestino per default-pool. Quindi, fai clic su Elimina per confermare l'operazione.
Per creare il nuovo default-pool:
Nella pagina Cluster, fai clic su Aggiungi pool di nodi.
In Nome, inserisci
default-pool
. Devi utilizzare il nomedefault-pool
in modo che i flussi di lavoro nel tuo ambiente possano essere eseguiti in questo pool.Inserisci le impostazioni relative a Dimensioni e Nodi.
(Solo per i service account Compute Engine predefiniti) Per gli ambiti di accesso, seleziona Consenti l'accesso completo a tutte le API Cloud.
Fai clic su Salva.
Se noti che i carichi di lavoro sono distribuiti in modo non uniforme, riduci lo scale down del deployment di airflow-worker a zero ed esegui di nuovo lo scale up.