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 prestazioni o installando pacchetti PyPI personalizzati, l'ambiente si aggiorna.
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 nell'ambiente.
In che modo gli aggiornamenti influiscono sulle attività Airflow in esecuzione
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 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:
- Esegui 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 di opzioni di configurazione di Airflow, oppure modifica dei relativi valori.
- Modifica della CPU, della memoria o dello spazio di archiviazione dei worker di 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 numero massimo viene ridotto a due.
- Modifica della modalità di resilienza dell'ambiente.
Le seguenti modifiche non causano l'interruzione dell'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).
- Attivazione o disattivazione dell'integrazione della derivazione dei dati Dataplex.
- Modifica delle dimensioni dell'ambiente.
- Modifica del numero di scheduler.
- Modifica della CPU, della memoria o dello spazio di archiviazione degli scheduler di Airflow.
- Modifica del numero di attivatori.
- Modifica della CPU, della memoria o dello spazio di archiviazione degli attivatori di Airflow.
- 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 un ambiente attualmente esegue due worker e il numero 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, l'account di servizio del tuo ambiente e l'account agente di servizio 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.
L'account di servizio del tuo ambiente deve avere un ruolo che disponi 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.
Aggiorna gli ambienti
Per ulteriori informazioni sull'aggiornamento dell'ambiente, consulta le altre pagine della documentazione relative a operazioni di aggiornamento specifiche. Ad esempio:
- Eseguire l'override delle opzioni di configurazione di Airflow
- Imposta le variabili di ambiente
- Installa le dipendenze Python
- Scala gli ambienti
- Configurare le reti autorizzate
Visualizza i dettagli dell'ambiente
Console
Nella console Google Cloud, vai alla pagina Environments (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
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 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 del tuo ambiente.
Eseguire il rollback delle modifiche dell'aggiornamento
In alcuni rari casi, un'operazione di aggiornamento potrebbe essere interrotta (ad esempio a causa di un timeout) e le modifiche richieste potrebbero non essere annullate in tutti i componenti dell'ambiente (ad esempio il web server Airflow).
Ad esempio, un'operazione di aggiornamento potrebbe essere 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 relativi ad Airflow.
Questa situazione potrebbe verificarsi se un'operazione di aggiornamento viene attivata quando sono in corso altre operazioni, ad esempio l'autoscaling del cluster Cloud Composer o un'operazione di manutenzione.
In questo caso, 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 l'inizializzazione, gli scheduler e i worker di Airflow scaricano i contenuti delle cartelle /dags
e /plugins
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.
Ti consigliamo di conservare solo i file DAG e dei plug-in nelle rispettive cartelle /dags
e /plugins
e di rimuovere 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 assolutamente i 100 MB di dati.
Per ulteriori informazioni, consulta anche:
Eseguire l'upgrade del tipo di macchina per i nodi GKE
Puoi eseguire manualmente l'upgrade 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 calcolo che si verifica nel tuo ambiente Cloud Composer quando crei un ambiente.
Se esegui job che eseguono calcoli con utilizzo intensivo di risorse, potresti voler utilizzare 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 Environments (Ambienti).
Nell'elenco degli ambienti, fai clic sul nome dell'ambiente. Viene visualizzata la pagina Dettagli dell'ambiente.
Visualizza le informazioni sul pool di nodi predefinito:
Vai alla scheda Configurazione dell'ambiente.
Fai clic sul link Visualizza dettagli cluster.
Nella pagina Cluster, fai clic su default-pool nella sezione Nodi.
Prendi nota di tutte le informazioni relative a default-pool nella pagina Dettagli del pool di nodi. Utilizza queste informazioni per creare un nuovo node pool 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. 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 Dimensioni e Nodi.
(Solo per gli account di servizio 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 il deployment di Airflow-worker a zero e riaumentalo.