Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 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 viene aggiornato.
Al termine di questa operazione, le modifiche diventano disponibili nell'ambiente.
Per un singolo ambiente Managed Airflow, puoi 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.
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 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 la terminazione delle attività Airflow:
- Eseguire l'upgrade dell'ambiente a una nuova versione.
- Aggiungere, modificare o eliminare pacchetti PyPI personalizzati.
- Modificare le variabili di ambiente di Managed Airflow.
- Aggiungere o rimuovere gli override delle opzioni di configurazione di Airflow o modificarne i valori.
- Modificare la CPU, la memoria o lo spazio di archiviazione dei worker di Airflow.
Ridurre il numero massimo di worker di Airflow, se il nuovo valore è inferiore al numero di worker attualmente in esecuzione. Ad esempio, se un ambiente esegue attualmente tre worker e il numero massimo viene ridotto a due.
Le seguenti modifiche non causano la terminazione delle attività Airflow:
- Creare, aggiornare o eliminare un DAG (non un'operazione di aggiornamento).
- Mettere in pausa o riattivare i DAG (non un'operazione di aggiornamento).
- Modificare le variabili di Airflow (non un'operazione di aggiornamento).
- Modificare le connessioni Airflow (non un'operazione di aggiornamento).
- Abilitare o disabilitare l'integrazione della derivazione dei dati di Knowledge Catalog.
- Modificare le dimensioni dell'ambiente.
- Modificare il numero di scheduler.
- Modificare la CPU, la memoria o lo spazio di archiviazione degli scheduler di Airflow.
- Modificare il numero di triggerer.
- Modificare la CPU, la memoria o lo spazio di archiviazione dei triggerer di Airflow.
- Modificare la CPU, la memoria o lo spazio di archiviazione del server web di Airflow.
- Aumentare o diminuire il numero minimo di worker.
- Ridurre il numero massimo di worker di Airflow. Ad esempio, se un ambiente esegue attualmente due worker e il numero massimo viene ridotto a tre.
- Modificare i periodi di manutenzione.
- Modificare le impostazioni degli snapshot pianificati.
- Modificare le etichette dell'ambiente.
Aggiornare 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 l'account dell'agente di servizio Managed Airflow 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 avere un ruolo che ha autorizzazioni sufficienti per eseguire le operazioni di aggiornamento.
Il comando
gcloud composer environments updatetermina al termine dell'operazione. Puoi utilizzare il flag--asyncper evitare di attendere il completamento dell'operazione.
Aggiornare gli ambienti
Per ulteriori informazioni 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 Google Cloud console, vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome dell'ambiente. Viene visualizzata la pagina Dettagli ambiente.
gcloud
Esegui il seguente comando gcloud:
gcloud composer environments describe ENVIRONMENT_NAME \
--location LOCATION
Sostituisci:
ENVIRONMENT_NAMEcon il nome dell'ambiente.LOCATIONcon 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 dell'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_NAMEcon il nome della risorsa dell'ambiente.
Eseguire il rollback delle modifiche di 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 sottoposte a rollback in tutti i componenti dell'ambiente (ad esempio, il server web di Airflow).
Ad esempio, un'operazione di aggiornamento potrebbe installare o rimuovere moduli PyPI aggiuntivi, ridefinire o definire una nuova variabile di ambiente Airflow o Managed Airflow oppure modificare alcuni parametri correlati ad Airflow.
Una situazione di questo tipo potrebbe verificarsi se viene attivata un'operazione di aggiornamento mentre sono in corso altre operazioni, ad esempio la scalabilità automatica del cluster Managed Airflow o un'operazione di manutenzione.
In questo caso, 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
/dagse/pluginsdal 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 in queste cartelle.Ti consigliamo di conservare solo i file DAG e dei plug-in nelle cartelle
/dagse/plugins(rispettivamente) e di rimuovere tutti gli altri file. Una quantità eccessiva di dati nelle cartelle/dagse/pluginspotrebbe rallentare l'inizializzazione dei componenti di Airflow e, in alcuni casi, renderla impossibile.Ti consigliamo di conservare meno di 30 MB di dati nelle cartelle
/dagse/pluginse di non superare assolutamente la dimensione di 100 MB di dati. Per ulteriori informazioni, consulta anche Gestire un numero elevato di DAG e plug-inLa dimensione del database di Airflow potrebbe aumentare notevolmente il tempo delle operazioni di upgrade. Ti consigliamo di mantenere la dimensione del database di Airflow del tuo ambiente.
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 computing che si verifica nell'ambiente Managed Airflow quando crei un ambiente.
Se esegui job che eseguono calcoli che richiedono molte risorse, potresti 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 Google Cloud console, vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome dell'ambiente. Viene visualizzata la pagina Dettagli ambiente.
Ottieni 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 node pool. Utilizza queste informazioni per creare un nuovo pool di nodi predefinito per il tuo ambiente.
Per eliminare default-pool:
Nella pagina Dettagli del node pool, fai clic sulla freccia Indietro per tornare alla pagina Cluster del tuo ambiente.
Nella sezione Node pool, 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 node pool.
In Nome, inserisci
default-pool. Devi utilizzare il nomedefault-poolin modo che i workflow 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 Ambiti di accesso, seleziona Consenti l'accesso completo a tutte le API Cloud.
Fai clic su Salva.
Se noti che i workload sono distribuiti in modo non uniforme, fai lo scale down del deployment di airflow-worker a zero e fai lo scale up di nuovo.