Cloud Composer 1 | Cloud Composer 2
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 avviarne un'altra.
In che modo gli aggiornamenti influiscono sull'esecuzione delle attività Airflow
Quando esegui un'operazione di aggiornamento, ad esempio l'installazione di pacchetti PyPI personalizzati, tutti gli scheduler e i worker 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 nuovo tentativo, a seconda della modalità di configurazione dei nuovi tentativi per i DAG.
Aggiornamento con Terraform
Esegui terraform plan
prima del giorno terraform apply
per vedere 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 dell'agente di servizio Cloud Composer nel tuo progetto dispongano delle autorizzazioni necessarie:
Il tuo account deve avere un ruolo che può attivare operazioni di aggiornamento dell'ambiente.
L'account di servizio del tuo ambiente deve avere 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.
Ambienti di aggiornamento
Per ulteriori informazioni sull'aggiornamento dell'ambiente, consulta altre pagine della documentazione su operazioni di aggiornamento specifiche. Ad esempio:
- Esegui l'override delle opzioni di configurazione di Airflow
- Imposta le variabili di ambiente
- Installa le dipendenze Python
- Ambienti di scalabilità
- Configurare le reti autorizzate
Visualizza dettagli 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 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.
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 eseguite il 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 aggiuntivi, la ridefinizione o la definizione di una nuova variabile di ambiente Airflow o Cloud Composer oppure la modifica di alcuni parametri correlati a Airflow.
Questa situazione può verificarsi se viene attivata un'operazione di aggiornamento mentre sono in corso altre operazioni, ad esempio la scalabilità automatica o un'operazione di manutenzione del cluster Cloud Composer.
In questi casi, è consigliabile ripetere l'operazione.
Durata delle operazioni di aggiornamento o upgrade
La maggior parte delle operazioni di aggiornamento o upgrade richiede il riavvio dei componenti Airflow come scheduler, worker e server web Airflow.
Una volta riavviato, un componente deve essere inizializzato. Durante l'inizializzazione, gli scheduler e i worker 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 in queste cartelle.
Ti consigliamo di conservare solo i file DAG e 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, rendere impossibile l'inizializzazione.
Consigliamo di conservare meno di 30 MB di dati nelle cartelle /dags
e /plugins
e di non superare sicuramente le dimensioni di 100 MB.
Per ulteriori informazioni, vedi anche:
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 per il tipo di calcolo che avviene nel tuo ambiente Cloud Composer quando crei un ambiente.
Se esegui job che eseguono calcoli che richiedono un uso intensivo delle 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 Dettagli 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.
Ottieni informazioni sul pool di nodi predefinito:
Vai alla scheda Configurazione dell'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 per default-pool nella pagina dei dettagli del pool di nodi. Potrai utilizzare 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 per il tuo ambiente.
Nella sezione Pool di nodi, fai clic sull'icona del cestino in corrispondenza di 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 del 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, fai lo scale down del deployment del flusso di lavoro airflow fino a zero e fai nuovamente lo scale up.