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, l'ambiente si aggiorna.
Una volta completata l'operazione, le modifiche diventano disponibili nel tuo completamente gestito di Google Cloud.
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 nell'ambiente.
Limiti CPU del triggerer
Cloud Composer nella versione 2.4.4 introduce un approccio di scalabilità del rendimento diverso per il componente attivatore Airflow che si applica a tutte le versioni di Cloud Composer 2.
Prima della versione 2.4.4, gli ambienti Cloud Composer potevano utilizza al massimo 1 o 2 triggerer. Dopo la modifica, puoi avere fino a 10 attivatori per ambiente, ma ogni attivatore è limitato a un massimo di 1 vCPU.
Le operazioni di aggiornamento dell'ambiente non vanno a buon fine se l'ambiente è configurato con più di 1 vCPU per attivatore. 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
- Risolvere i problemi di upgrade dell'ambiente: CPU dell'attivatore superata
Impatto degli aggiornamenti sull'esecuzione delle attività Airflow
Quando esegui un'operazione di aggiornamento, gli scheduler di Airflow e i worker nel tuo ambiente potrebbero richiedere un riavvio. In questo caso, tutte le attività attualmente in esecuzione vengono interrotte. Al termine dell'operazione di aggiornamento, Airflow pianifica un nuovo tentativo per queste attività, a seconda del modo in cui configuri i nuovi tentativi per i DAG.
Le seguenti modifiche provocano l'interruzione dell'attività Airflow:
- Upgrade dell'ambiente a una nuova versione.
- Aggiunta, modifica o eliminazione di pacchetti PyPI personalizzati.
- Modifica delle variabili di ambiente di Cloud Composer.
- Aggiunta o rimozione di opzioni di configurazione di Airflow, oppure modifica dei relativi valori.
- Modifica dei worker di Airflow di CPU, memoria o spazio di archiviazione.
- Ridurre il 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 numero massimo viene ridotto a due.
- Modifica della modalità di resilienza dell'ambiente.
Le seguenti modifiche non causano la terminazione delle attività Airflow:
- Creazione, aggiornamento o eliminazione di un DAG (non un'operazione di aggiornamento).
- Mettere in pausa o riattivare i 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 Dataplex.
- Modifica delle dimensioni dell'ambiente.
- Modifica del numero di pianificatori.
- Modifica degli scheduler Airflow di CPU, memoria o spazio di archiviazione.
- Modifica del numero di attivatori.
- Modifica degli attivatori di Airflow di CPU, memoria o spazio di archiviazione.
- Modifica della CPU, della memoria o dello 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 attualmente esegue due worker e il massimo è 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 del giorno terraform apply
per verificare se Terraform crea una nuova
anziché aggiornarlo.
Prima di iniziare
Verifica che il tuo account, l'account di servizio del tuo ambiente e l'account agente di servizio Cloud Composer nel tuo progetto dispongano delle autorizzazioni necessarie:
Il tuo account deve avere un ruolo può attivare operazioni di aggiornamento dell'ambiente.
L'account di servizio dell'ambiente deve avere un ruolo disponga di autorizzazioni sufficienti per eseguire operazioni di aggiornamento.
L'account agente di servizio Cloud Composer deve disporre delle autorizzazioni per creare associazioni tra l'account di servizio del tuo ambiente e l'account di servizio Kubernetes del cluster del tuo ambiente.
Il comando
gcloud composer environments update
termina quando l'operazione è terminata. Puoi usare il flag--async
per evitare di attendere l'operazione da completare.
Aggiorna ambienti
Per saperne di più sull'aggiornamento dell'ambiente, consulta altra documentazione pagine su specifiche operazioni di aggiornamento. Ad esempio:
- Eseguire l'override delle opzioni di configurazione di Airflow
- Impostare le variabili di ambiente
- Installa le dipendenze Python
- Ambienti di scalabilità
- Configurare le reti autorizzate
- Aggiorna gli ambienti per una maggiore resilienza
Visualizza i dettagli dell'ambiente
Console
Nella console Google Cloud, vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome dell'ambiente. Viene visualizzata la pagina Dettagli dell'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 del tuo ambiente potrebbe essere diverso del tuo 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 es. a causa di un timeout) e le modifiche richieste potrebbero non essere rollback 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, ridefinizione o definizione di un nuovo Airflow o Cloud Composer o la modifica di alcuni parametri correlati ad Airflow.
Una situazione del genere potrebbe verificarsi se viene attivata un'operazione di aggiornamento quando le operazioni sono in corso, ad esempio la scalabilità automatica o un'operazione di manutenzione.
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 gli scheduler, i worker e i server web di Airflow.
Una volta riavviato, un componente deve essere inizializzato. Durante
inizializzazione, gli scheduler e i worker di Airflow scaricano i contenuti di /dags
e /plugins
cartelle dal bucket dell'ambiente. La procedura di sincronizzazione
delle cartelle con gli pianificatori e i worker Airflow non è istantanea e dipende dalle
dimensioni totali e dal numero di tutti gli oggetti in queste cartelle.
Consigliamo di conservare solo i file DAG e plug-in in /dags
e /plugins
le cartelle (rispettivamente) e rimuovi tutti gli altri file. Troppi dati
nelle cartelle /dags
e /plugins
potrebbero rallentare l'inizializzazione dei componenti di Airflow
e, in alcuni casi, potrebbero rendere impossibile 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: