Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
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 prestazioni o installando pacchetti PyPI personalizzati, il tuo ambiente viene aggiornato.
Al termine di questa operazione, le modifiche diventano disponibili nel tuo ambiente.
Per un singolo ambiente Cloud Composer, è possibile avviare una sola operazione di aggiornamento alla volta. Devi attendere il completamento di un'operazione di aggiornamento prima di avviare un'altra operazione dell'ambiente.
Limiti CPU del triggerer
Cloud Composer nella versione 2.4.4 introduce un diverso approccio alla scalabilità delle prestazioni per il componente triggerer 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 triggerer. Dopo la modifica, puoi avere fino a 10 triggerer per ambiente, ma ogni triggerer è limitato a un massimo di 1 vCPU.
Le operazioni di aggiornamento dell'ambiente non vanno a buon fine se il tuo ambiente è configurato con più di 1 vCPU per triggerer. Devi modificare la configurazione in modo da rispettare il limite di 1 vCPU per eseguire aggiornamenti su altri componenti.
Per ulteriori informazioni, vedi:
- Configura l'allocazione delle risorse del triggerer
- Regola il numero dell'attivatore
- Risolvi i problemi di upgrade dell'ambiente: CPU del triggerer superata
Impatto degli aggiornamenti sull'esecuzione delle attività Airflow
Quando esegui un'operazione di aggiornamento, ad esempio installando pacchetti PyPI personalizzati, tutti gli scheduler e i worker di Airflow nel tuo ambiente vengono riavviati e tutte le attività attualmente in esecuzione vengono terminate. Una volta completata l'operazione di aggiornamento, Airflow pianifica queste attività per un nuovo tentativo, a seconda del modo in cui configuri i nuovi tentativi per i DAG.
Aggiornamento con Terraform
Esegui terraform plan
prima del giorno terraform apply
per verificare se Terraform crea un nuovo ambiente invece di aggiornarlo.
Prima di iniziare
Verifica che il tuo account, l'account di servizio del tuo ambiente e l'account dell'agente di servizio di Cloud Composer nel progetto dispongano delle autorizzazioni necessarie:
Il tuo account deve avere un ruolo che può attivare operazioni di aggiornamento dell'ambiente.
L'account di servizio dell'ambiente deve avere un ruolo che disponi di autorizzazioni sufficienti per eseguire operazioni di aggiornamento.
L'account dell'agente di servizio Cloud Composer deve disporre delle autorizzazioni per creare associazioni tra l'account di servizio dell'ambiente e l'account di servizio Kubernetes del cluster dell'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.
Aggiorna ambienti
Per ulteriori informazioni sull'aggiornamento dell'ambiente, consulta le altre pagine della documentazione su specifiche operazioni di aggiornamento. Ad esempio:
- Esegui l'override delle opzioni di configurazione di Airflow
- Impostare le variabili di ambiente
- Installa le dipendenze Python
- Ambienti di scalabilità
- Configurare le reti autorizzate
- Aggiornare gli ambienti per ottenere una resilienza elevata
Visualizza i dettagli dell'ambiente
Console
Nella console Google Cloud, vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome dell'ambiente. Si apre 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
Creare 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 dell'ambiente potrebbe essere diverso dal nome dell'ambiente.
terraform state show google_composer_environment.RESOURCE_NAME
Sostituisci:
RESOURCE_NAME
con il nome della risorsa dell'ambiente.
Rollback delle modifiche all'aggiornamento in corso
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 riportate in tutti i componenti dell'ambiente (come il server web Airflow).
Ad esempio, un'operazione di aggiornamento potrebbe includere l'installazione o la rimozione di moduli PyPI aggiuntivi, la ridefinizione o la definizione di una nuova variabile di ambiente Airflow o Cloud Composer o la modifica di alcuni parametri correlati ad Airflow.
Una situazione di questo tipo può verificarsi se viene attivata un'operazione di aggiornamento mentre sono in corso altre operazioni, ad esempio un'operazione di scalabilità automatica o di manutenzione del cluster Cloud Composer.
In questa situazione, ti consigliamo di ripetere l'operazione.
Durata delle operazioni di aggiornamento o upgrade
La maggior parte delle operazioni di aggiornamento o upgrade richiede il riavvio dei componenti di Airflow come scheduler, worker e server web di Airflow.
Una volta riavviato, un componente deve essere inizializzato. 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 dalla dimensione totale e dal numero di tutti gli oggetti nelle cartelle.
Consigliamo di conservare (rispettivamente) solo i file DAG e plug-in solo nelle cartelle /dags
e /plugins
e rimuovere tutti gli altri file. Troppi dati
nelle cartelle /dags
e /plugins
potrebbero rallentare l'inizializzazione dei componenti
di Airflow e in alcuni casi potrebbe impedire l'inizializzazione.
Ti consigliamo di conservare meno di 30 MB di dati nelle cartelle /dags
e /plugins
e di non superare 100 MB per i dati.
Per ulteriori informazioni, vedi anche: