Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Questa pagina descrive come eseguire l'upgrade dell'ambiente a una nuova versione di Cloud Composer o Airflow.
Informazioni sulle operazioni di upgrade
Puoi eseguire l'upgrade della versione Cloud Composer, della versione Airflow o di entrambe contemporaneamente.
Quando modifichi la versione di Airflow o Cloud Composer utilizzata dal tuo ambiente:
Cloud Composer esegue nuovamente il deployment dei componenti dell'ambiente utilizzando nuove versioni delle immagini Cloud Composer.
Cloud Composer applica le modifiche alla configurazione di Airflow, ad esempio i pacchetti PyPI personalizzati o le sostituzioni delle opzioni di configurazione di Airflow, se il tuo ambiente le aveva prima dell'upgrade.
Cloud Composer aggiorna la connessione
airflow_db
di Airflow in modo che indichi il nuovo database Cloud SQL.
L'upgrade non cambia il modo in cui ti connetti alle risorse nel tuo ambiente, ad esempio l'URL del bucket del tuo ambiente o il server web di Airflow.
Limiti delle operazioni di upgrade
Le operazioni di upgrade presentano le seguenti limitazioni:
- Non puoi eseguire il downgrade a una versione precedente di Cloud Composer o Airflow.
Nella console Google Cloud, puoi eseguire l'upgrade solo alle versioni supportate più recenti di Cloud Composer.
In Google Cloud CLI, nell'API o in Terraform, puoi eseguire l'upgrade di un ambiente alle ultime versioni supportate, a tre versioni precedenti di Cloud Composer, all'ultima versione con patch della versione minore precedente e alle versioni con una tempistica di upgrade estesa. Non è possibile eseguire l'upgrade ad altre versioni di Cloud Composer, anche se sono ancora supportate e possono essere utilizzate per creare un nuovo ambiente.
La versione a cui esegui l'upgrade deve supportare la versione di Python corrente del tuo ambiente.
I limiti di quota dell'API Compute Engine possono impedire gli upgrade. Nella console Google Cloud, vai alla pagina IAM e amministrazione > Quote e limiti di sistema e controlla se la quota per la CPU dell'API Compute Engine non è stata superata. Se si sta avvicinando la soglia di quota, richiedi l'estensione della quota prima di procedere con l'operazione di upgrade.
Non puoi eseguire l'upgrade del tuo ambiente se il database Airflow contiene più di 16 GB di dati. Durante un upgrade, viene mostrato un avviso se le dimensioni del database Airflow superano i 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 utilizzando XCom influisce sul rendimento 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 in caso di necessità.
Il tuo account deve avere un ruolo che possa attivare le operazioni di upgrade dell'ambiente. Inoltre, l'account di servizio dell'ambiente deve avere un ruolo con autorizzazioni sufficienti per eseguire le operazioni di upgrade. Per ulteriori informazioni, consulta Controllo dell'accesso.
Verifica che l'ambiente sia aggiornato
Cloud Composer mostra avvisi quando si avvicina la data di fine del supporto completo dell'immagine del tuo ambiente. Puoi utilizzare questi avvisi per mantenere sempre il tuo ambiente supportato.
Cloud Composer tiene traccia della versione dell'immagine Cloud Composer su cui si basa il tuo ambiente. Quando si avvicina la data di fine del supporto, puoi visualizzare un avviso nell'elenco degli ambienti e nella pagina Dettagli ambiente.
Per verificare se il tuo ambiente è aggiornato:
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.
Vai alla scheda Configurazione dell'ambiente.
Nel campo Versione immagine viene visualizzato uno dei seguenti messaggi:
Ultima versione disponibile. L'immagine dell'ambiente è completamente supportata.
Nuova versione disponibile. L'immagine dell'ambiente è completamente supportata e puoi eseguirne l'upgrade a una versione successiva.
Il supporto per questa versione dell'immagine termina il giorno... L'immagine dell'ambiente si sta avvicinando alla fine del periodo di assistenza completa.
Questa versione non è supportata a partire dal giorno… Il periodo di assistenza completa è terminato per il tuo ambiente.
gcloud
Questa funzionalità non è disponibile tramite Google Cloud CLI. Puoi invece visualizzare gli upgrade disponibili, che mostrano le nuove versioni disponibili.
API
Questa funzionalità non è disponibile tramite API. Puoi invece visualizzare gli upgrade disponibili, che mostrano le nuove versioni disponibili.
Visualizza gli upgrade disponibili
Per visualizzare le versioni di Cloud Composer a cui puoi eseguire l'upgrade:
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.
Vai alla scheda Configurazione dell'ambiente e fai clic su Esegui l'upgrade della versione dell'immagine.
Per l'elenco delle versioni disponibili, fai clic sul menu a discesa Versione immagine di Cloud Composer.
gcloud
gcloud composer environments list-upgrades \
ENVIRONMENT_NAME \
--location LOCATION
Sostituisci:
ENVIRONMENT_NAME
con il nome dell'ambiente.LOCATION
con 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à. A tale scopo, crea una richiesta API
imageVersions.list
.
Ad esempio:
// GET https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/imageVersions
Verificare la presenza di conflitti dei pacchetti PyPI prima dell'upgrade
Puoi verificare se i pacchetti PyPI installati nel tuo ambiente presentano conflitti con i pacchetti preinstallati nella nuova immagine Cloud Composer.
Un controllo riuscito indica che non ci sono conflitti nelle dipendenze dei pacchetti PyPI tra la versione corrente e quella specificata. Tuttavia, un'operazione di upgrade potrebbe non riuscire per altri motivi.
Console
Per eseguire un controllo di upgrade per il tuo ambiente:
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.
Vai alla scheda Configurazione dell'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 Cloud Composer di cui vuoi eseguire l'upgrade.
Nella sezione Compatibilità dei pacchetti PyPI, fai clic su Cerca conflitti.
Attendi il completamento del controllo. Se esistono 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 di upgrade per il tuo ambiente, esegui il comando
environments check-upgrade
con la
versione dell'immagine Cloud Composer.
a cui vuoi eseguire l'upgrade.
gcloud composer environments check-upgrade \
ENVIRONMENT_NAME \
--location LOCATION \
--image-version VERSION
Sostituisci:
ENVIRONMENT_NAME
con il nome dell'ambiente.LOCATION
con la regione in cui si trova l'ambiente.VERSION
con la nuova versione dell'immagine Cloud Composer a cui vuoi eseguire l'upgrade, nel formatocomposer-a.b.c-airflow-x.y.z
. Puoi anche utilizzare tutti gli alias di versione.
Esempio:
gcloud composer environments check-upgrade example-environment \
--location us-central1 \
--image-version composer-2.11.1-airflow-2.10.2
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-2.11.1-airflow-2.10.2. Operation [projects/example-project/locations/
us-central1/operations/04d0e8b2-...]...done.
...
Response:
'@type': type.googleapis.com/
google.cloud.orchestration.airflow.service.v1.CheckUpgradeResponse
buildLogUri: https://console.cloud.google.com/cloud-build/builds/79738aa7-...
containsPypiModulesConflict: CONFLICT
pypiConflictBuildLogExtract: |-
The Cloud Build image build failed: Build failed; check build logs for
details. Full log can be found at https://console.cloud.google.com/
cloud-build/builds/79738aa7-...
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 di upgrade in modo asincrono. Utilizza l'argomento --async
per effettuare una chiamata asincrona, quindi controlla il risultato con il comando gcloud composer operations describe
.
API
Costruisci una richiesta API environments.checkUpgrade
.
Specifica la versione dell'immagine nel campo imageVersion
:
{
"imageVersion": "VERSION"
}
Sostituisci VERSION
con la nuova versione di 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 Cloud Composer o Airflow:
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.
Vai alla scheda Configurazione dell'ambiente.
Individua l'elemento Versione immagine e fai clic su Esegui l'upgrade.
Nel menu a discesa Versione immagine, seleziona una versione di Cloud Composer a cui vuoi eseguire l'upgrade.
Fai clic su Esegui upgrade.
gcloud
gcloud composer environments update \
ENVIRONMENT_NAME \
--location LOCATION \
--image-version VERSION
Sostituisci:
ENVIRONMENT_NAME
con il nome dell'ambiente.LOCATION
con la regione in cui si trova l'ambiente.VERSION
con la nuova versione dell'immagine Cloud Composer a cui vuoi eseguire l'upgrade, nel formatocomposer-a.b.c-airflow-x.y.z
. Puoi anche utilizzare tutti gli alias di versione.
Ad esempio:
gcloud composer environments update
example-environment \
--location us-central1 \
--image-version composer-2.11.1-airflow-2.10.2
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 la nuova versione di 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-2.11.1-airflow-2.10.2"
}
}
}
Terraform
Il campo image_version
nel blocco config.software_config
controlla l'immagine Cloud Composer del tuo ambiente. In questo
campo, specifica una nuova immagine Cloud Composer.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
software_config {
image_version = "VERSION"
}
}
}
Sostituisci:
ENVIRONMENT_NAME
con il nome dell'ambiente.LOCATION
con la regione in cui si trova l'ambiente. la nuova versione dell'immagine Cloud Composer a cui vuoi eseguire l'upgrade, nel formatocomposer-a.b.c-airflow-x.y.z
. Puoi anche utilizzare 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-2.11.1-airflow-2.10.2"
}
}
}