Managed Airflow (terza generazione) | Managed Airflow (seconda generazione) | Managed Airflow (prima generazione legacy)
Questa pagina descrive come eseguire l'upgrade dell'ambiente a una nuova versione di Managed Airflow o Airflow.
Informazioni sulle operazioni di upgrade
Puoi eseguire l'upgrade della versione di Managed Airflow, della versione di Airflow o di entrambe contemporaneamente.
Quando modifichi la versione di Airflow o Managed Airflow utilizzata dal tuo ambiente:
Managed Airflow esegue nuovamente il deployment dei componenti dell'ambiente utilizzando le nuove versioni delle immagini di Managed Airflow.
Managed Airflow applica le modifiche alla configurazione di Airflow, come i pacchetti PyPI personalizzati o gli override delle opzioni di configurazione di Airflow, se l'ambiente li aveva prima dell'upgrade.
Managed Airflow aggiorna la connessione
airflow_dbdi Airflow in modo che punti al nuovo database Cloud SQL.
L'upgrade non modifica la modalità di connessione alle risorse dell'ambiente, ad esempio l'URL del bucket dell'ambiente o del server web di Airflow.
Limitazioni delle operazioni di upgrade
Le operazioni di upgrade presentano le seguenti limitazioni:
Le release di Managed Airflow vengono implementate gradualmente in tutte le regioni supportate da Managed Airflow nell'arco di diversi giorni. L'ultima versione di una release in corso potrebbe non essere ancora disponibile nella tua regione.
Non puoi eseguire il downgrade a una versione precedente di Managed Airflow o Airflow.
Nella Google Cloud console, puoi eseguire l'upgrade solo alle ultime versioni supportate di Managed Airflow (seconda generazione).
In Google Cloud CLI, API o Terraform, puoi eseguire l'upgrade di un ambiente alle ultime versioni supportate, a tre versioni precedenti di Managed Airflow (seconda generazione), all'ultima versione patch della versione secondaria precedente e alle versioni con una sequenza temporale di upgrade estesa. Non è possibile eseguire l'upgrade ad altre versioni di Managed Airflow (seconda generazione), anche se sono ancora supportate e possono essere utilizzate per creare un nuovo ambiente.
Esempio di scelte di upgrade per Google Cloud CLI, API e Terraform:
- Ultime versioni:
composer-2.11.5-airflow-* - Tre versioni precedenti di Managed Airflow (seconda generazione):
composer-2.11.4-airflow-*,composer-2.11.3-airflow-*,composer-2.11.2-airflow-*. - Ultima patch della versione secondaria precedente di Managed Airflow (seconda generazione):
composer-2.10.2-airflow-* - Versioni di Managed Airflow (seconda generazione) con una sequenza temporale di upgrade estesa:
composer-2.10.2-airflow-*,composer-2.10.1-ariflow-*,composer-2.9.7-airflow-*e altre versioni con una sequenza temporale di upgrade estesa.
- Ultime versioni:
La versione a cui esegui l'upgrade deve supportare la versione di Python corrente dell'ambiente.
I limiti di quota dell'API Compute Engine possono impedire gli upgrade. Nella Google Cloud console, vai alla pagina IAM e amministrazione > Quote e limiti di sistema e controlla se la quota dell' API Compute Engine per la CPU non è stata superata. Se la soglia della quota si sta avvicinando, richiedi l'estensione della quota prima di procedere con l'operazione di upgrade.
Non è possibile eseguire l'upgrade in loco a una versione principale diversa di Managed Airflow o Airflow. Puoi trasferire manualmente DAG e configurazione tra gli ambienti. Per saperne di più, vedi:
- Eseguire la migrazione da Airflow gestito (prima generazione legacy), Airflow 1 ad Airflow gestito (seconda generazione), Airflow 2.
- Eseguire la migrazione da Airflow gestito (prima generazione legacy), Airflow 2 ad Airflow gestito (seconda generazione), Airflow 2.
- Eseguire la migrazione da Managed Airflow (prima generazione legacy), Airflow 1 a Managed Airflow (prima generazione legacy), Airflow 2.
Non puoi eseguire l'upgrade dell'ambiente se il database Airflow contiene più di 16 GB di dati. Durante un upgrade, viene visualizzato un avviso se le dimensioni del database Airflow sono superiori a 16 GB. In questo caso, esegui la manutenzione del database per ridurre le dimensioni del database.
Se utilizzi il meccanismo XCom per trasferire i file, assicurati di utilizzarlo in base alle linee guida di Airflow. Il trasferimento di file di grandi dimensioni o di un numero elevato di file tramite XCom influisce sulle prestazioni del database Airflow e può causare errori durante il caricamento degli snapshot o l'upgrade dell'ambiente. Valuta la possibilità di utilizzare alternative come Cloud Storage per trasferire grandi volumi di dati.
Prima di iniziare
Ti consigliamo di creare un nuovo snapshot dell' ambiente per poterlo ricreare, se necessario.
Il tuo account deve avere un ruolo che possa attivare le operazioni di upgrade dell'ambiente. Inoltre, il account di servizio dell'ambiente deve avere un ruolo con autorizzazioni sufficienti per eseguire le operazioni di upgrade. Per saperne di più, consulta Controllo dell'accesso.
Controlla che l'ambiente sia aggiornato
Managed Airflow mostra avvisi quando l'immagine dell'ambiente si avvicina alla data di fine del supporto completo. Puoi utilizzare questi avvisi per mantenere sempre supportato il tuo ambiente .
Managed Airflow tiene traccia della versione dell'immagine di Managed Airflow su cui si basa il tuo ambiente. Quando si avvicina alla data di fine del supporto, puoi visualizzare un avviso nell'elenco degli ambienti e nella pagina Dettagli ambiente.
Per verificare se l'ambiente è aggiornato:
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.
Vai alla scheda Configurazione ambiente.
Nel campo Versione immagine viene visualizzato uno dei seguenti messaggi:
Ultima versione disponibile. L'immagine dell'ambiente è completamente supportata.
È disponibile una nuova versione. L'immagine dell'ambiente è completamente supportata e puoi eseguirne l'upgrade a una versione successiva.
Il supporto per questa versione dell'immagine termina tra... L'immagine dell'ambiente si avvicina alla fine del periodo di assistenza completo.
Questa versione non è supportata a partire da... Il periodo di assistenza completo dell'ambiente è terminato.
gcloud
Questa funzionalità non è disponibile tramite Google Cloud CLI. In alternativa, puoi visualizzare gli upgrade suggeriti invece, che mostra le nuove versioni disponibili.
API
Questa funzionalità non è disponibile tramite API. In alternativa, puoi visualizzare gli upgrade suggeriti invece, che mostra le nuove versioni disponibili.
Visualizza gli upgrade suggeriti
Managed Airflow fornisce un elenco delle versioni di Managed Airflow a cui puoi eseguire l'upgrade dell'ambiente.
Per visualizzare le versioni di Managed Airflow suggerite per un upgrade:
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.
Vai alla scheda Configurazione ambiente e fai clic su Esegui l'upgrade della versione dell'immagine.
Per l'elenco delle versioni suggerite, fai clic sul menu a discesa Versione immagine di Managed Airflow.
gcloud
gcloud composer environments list-upgrades \
ENVIRONMENT_NAME \
--location LOCATION
Sostituisci:
ENVIRONMENT_NAMEcon il nome dell'ambiente.LOCATIONcon la regione in cui si trova l'ambiente.
Esempio:
gcloud composer environments list-upgrades example-environment \
--location us-central1
API
Puoi visualizzare le versioni disponibili per una località. Per farlo, crea una richiesta API
imageVersions.list.
Ad esempio:
// GET https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/imageVersions
Verifica la presenza di conflitti tra i pacchetti PyPI
Puoi verificare se i pacchetti PyPI installati nel tuo ambiente presentano conflitti con i pacchetti preinstallati nella nuova immagine di Managed Airflow.
Un controllo riuscito indica che non ci sono conflitti nelle dipendenze dei pacchetti PyPI tra la versione attuale e quella specificata. Tuttavia, un'operazione di upgrade potrebbe comunque non riuscire per altri motivi.
Console
Per eseguire un controllo dell'upgrade per il tuo ambiente:
Nella Google Cloud console, vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome dell'ambiente. Viene visualizzata la pagina Dettagli ambiente.
Vai alla scheda Configurazione ambiente , individua la voce Versione immagine e fai clic su Esegui l'upgrade.
Nella finestra di dialogo Upgrade della versione dell'ambiente, nell'elenco a discesa Nuova versione, seleziona una versione di Managed Airflow a cui vuoi eseguire l'upgrade.
Nella sezione Compatibilità dei pacchetti PyPI, fai clic su Verifica la presenza di conflitti.
Attendi il completamento del controllo. Se sono presenti conflitti di dipendenza dei pacchetti PyPI, i messaggi di errore visualizzati contengono dettagli sui pacchetti e sulle versioni dei pacchetti in conflitto.
gcloud
Per eseguire un controllo dell'upgrade per il tuo ambiente, esegui il
environments check-upgrade
comando con la
versione dell'immagine di Managed Airflow
a cui vuoi eseguire l'upgrade.
gcloud composer environments check-upgrade \
ENVIRONMENT_NAME \
--location LOCATION \
--image-version VERSION
Sostituisci:
ENVIRONMENT_NAMEcon il nome dell'ambiente.LOCATIONcon la regione in cui si trova l'ambiente.VERSIONcon la nuova versione dell'immagine di Managed Airflow a cui vuoi eseguire l'upgrade, nel formatocomposer-a.b.c-airflow-x.y.z. Puoi utilizzare tutti gli alias di versione.
Esempio:
gcloud composer environments check-upgrade example-environment \
--location us-central1 \
--image-version composer-1.20.12-airflow-1.10.15
Output di esempio:
Waiting for [projects/example-project/locations/us-central1/environments/
example-environment] to be checked for PyPI package conflicts when upgrading
to composer-1.20.12-airflow-1.10.15. Operation [projects/example-project/locations/
us-central1/operations/04d0e8b2-...]...done.
...
Response:
'@type': type.googleapis.com/
google.cloud.orchestration.airflow.service.v1.CheckUpgradeResponse
buildLogUri: ...
containsPypiModulesConflict: CONFLICT
pypiConflictBuildLogExtract: |-
The Cloud Build image build failed: Build failed; check build logs for
details. Full log can be found at ...
Error details: tensorboard 2.2.2 has requirement
setuptools>=41.0.0, but you have setuptools 40.3.0.
In alternativa, puoi eseguire un controllo dell'upgrade in modo asincrono. Utilizza l'
--async argomento per effettuare una chiamata asincrona, quindi controlla il risultato con
il gcloud composer operations describe
comando.
API
Crea una richiesta API environments.checkUpgrade.
Specifica la versione dell'immagine nel campo imageVersion:
{
"imageVersion": "VERSION"
}
Sostituisci VERSION con la nuova versione a cui vuoi eseguire l'upgrade, nel
formato composer-a.b.c-airflow-x.y.z.
Esegui l'upgrade dell'ambiente
Per eseguire l'upgrade dell'ambiente a una versione successiva di Managed Airflow o Airflow:
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.
Vai alla scheda Configurazione ambiente.
Individua l'elemento Versione immagine e fai clic su Esegui l'upgrade.
Dal menu a discesa Versione immagine, seleziona una versione di Managed Airflow a cui vuoi eseguire l'upgrade.
Fai clic su Esegui l'upgrade.
gcloud
gcloud composer environments update \
ENVIRONMENT_NAME \
--location LOCATION \
--image-version VERSION
Sostituisci:
ENVIRONMENT_NAMEcon il nome dell'ambiente.LOCATIONcon la regione in cui si trova l'ambiente.VERSIONcon la nuova versione dell'immagine di Managed Airflow a cui vuoi eseguire l'upgrade, nel formatocomposer-a.b.c-airflow-x.y.z. Puoi utilizzare anche tutti gli alias di versione.
Ad esempio:
gcloud composer environments update
example-environment \
--location us-central1 \
--image-version composer-1.20.12-airflow-1.10.15
API
Crea una richiesta API
environments.patch.In questa richiesta:
Nel parametro
updateMask, specifica la mascheraconfig.softwareConfig.imageVersion.Nel corpo della richiesta, nel campo
imageVersion, specifica una nuova versione a cui vuoi eseguire l'upgrade.
Ad esempio:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.softwareConfig.imageVersion
{
"config": {
"softwareConfig": {
"imageVersion": "composer-1.20.12-airflow-1.10.15"
}
}
}
Terraform
Il campo image_version nel blocco config.software_config
controlla
l'immagine di Managed Airflow del tuo ambiente. In questo campo, specifica una nuova immagine di Managed Airflow.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
software_config {
image_version = "VERSION"
}
}
}
Sostituisci:
ENVIRONMENT_NAMEcon il nome dell'ambiente.LOCATIONcon la regione in cui si trova l'ambiente. la nuova versione dell'immagine di Managed Airflow a cui vuoi eseguire l'upgrade, nelcomposer-a.b.c-airflow-x.y.zformato. Puoi utilizzare anche tutti gli alias di versione.
Esempio:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
software_config {
image_version = "composer-1.20.12-airflow-1.10.15"
}
}
}