Upgrade degli ambienti

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

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 come l'URL del bucket dell'ambiente o l'ambiente web Airflow server web.

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 completamente gestita.
  • Nella console Google Cloud, puoi eseguire l'upgrade solo alla versione più recente supportata di Cloud Composer.

  • In Google Cloud CLI, nell'API o in Terraform, puoi eseguire l'upgrade di un ambiente alle ultime versioni supportate, ovvero tre versioni precedenti Cloud Composer, l'ultima versione della patch del precedente e alle versioni con tempistiche di upgrade estese. 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 la soglia di quota si sta avvicinando, richiedi l'estensione della quota prima Procedendo con l'operazione di upgrade.

  • Non è possibile eseguire l'upgrade a una versione principale diversa di Cloud Composer o Airflow in-place. Puoi trasferire manualmente DAG e configurazione tra ambienti. Per ulteriori informazioni, vedi:

  • Non puoi eseguire l'upgrade del tuo ambiente se il database Airflow contiene più di 16 GB di dati. Durante un upgrade, viene visualizzato un avviso viene mostrato se la dimensione del database Airflow è superiore 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 lo usi in base alle linee guida di Airflow. Il trasferimento di file di grandi dimensioni o di grandi quantità di file grazie agli effetti di XCom le prestazioni del database Airflow e può portare a errori durante il caricamento 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 del per poter ricreare l'ambiente 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 con autorizzazioni sufficienti per eseguire operazioni di upgrade. Per maggiori informazioni 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.

Nella pagina dei dettagli dell'ambiente viene visualizzato un messaggio di ritiro
Figura 1. Nell'ambiente viene visualizzato un messaggio relativo al ritiro pagina dei dettagli
di Gemini Advanced.

Cloud Composer tiene traccia della versione dell'immagine Cloud Composer su cui si basa il tuo ambiente. Quando si avvicina alla fine data del supporto, vedrai un avviso nell'elenco degli ambienti e nella Pagina Dettagli ambiente.

Per verificare se il tuo ambiente è aggiornato:

Console

  1. Nella console Google Cloud, vai alla pagina Ambienti.

    Vai ad Ambienti

  2. Nell'elenco degli ambienti, fai clic sul nome del tuo ambiente. Si apre la pagina Dettagli ambiente.

  3. Vai alla scheda Configurazione dell'ambiente.

  4. Nel campo Versione immagine viene visualizzato uno dei seguenti messaggi:

    • Versione più recente 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 di questa versione dell'immagine termina tra... Immagine dell'ambiente si avvicina alla fine dell'intero periodo di assistenza.

    • Questa versione non è supportata a partire da... Il periodo di assistenza completa è terminato per il tuo ambiente.

gcloud

Questa funzionalità non è disponibile tramite Google Cloud CLI. Puoi Visualizza gli upgrade disponibili per visualizzare le nuove versioni disponibili.

API

Questa funzionalità non è disponibile tramite l'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

  1. Nella console Google Cloud, vai alla pagina Ambienti.

    Vai ad Ambienti

  2. Nell'elenco degli ambienti, fai clic sul nome dell'ambiente. Si apre la pagina Dettagli ambiente.

  3. Vai alla scheda Configurazione dell'ambiente e fai clic su Esegui l'upgrade della versione immagine.

  4. 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

Verifica la presenza di conflitti nei pacchetti PyPI prima di eseguire l'upgrade

Puoi verificare se i pacchetti PyPI installati nel tuo ambiente hanno sono in conflitto con pacchetti preinstallati nel nuovo Cloud Composer.

Un controllo riuscito significa che non esistono conflitti nel pacchetto PyPI delle dipendenze tra la versione attuale e quella specificata. Tuttavia, un l'operazione di upgrade potrebbe ancora non riuscire per altri motivi.

Console

Per eseguire un controllo di upgrade per il tuo ambiente:

  1. Nella console Google Cloud, vai alla pagina Ambienti.

    Vai ad Ambienti

  2. Nell'elenco degli ambienti, fai clic sul nome del tuo ambiente. Si apre la pagina Dettagli ambiente.

  3. Vai alla scheda Configurazione dell'ambiente, individua la voce Versione immagine e fai clic su Esegui l'upgrade.

  4. 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.

  5. Nella sezione Compatibilità dei pacchetti PyPI, fai clic su Verifica la presenza di conflitti.

  6. Attendi il completamento della verifica. 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 dell'upgrade per il tuo ambiente, esegui environments check-upgrade utilizzando Versione immagine di Cloud Composer. di 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 immagine di Cloud Composer di cui vuoi eseguire l'upgrade, nel composer-a.b.c-airflow-x.y.z formato. Puoi anche utilizzare tutte le 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: 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 la --async per effettuare una chiamata asincrona, poi controlla il risultato con il gcloud composer operations describe .

API

Creare un'API environments.checkUpgrade richiesta.

Specifica la versione dell'immagine nel campo imageVersion:

{
  "imageVersion": "VERSION"
}

Sostituisci VERSION con la nuova versione di cui vuoi eseguire l'upgrade nel 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

  1. Nella console Google Cloud, vai alla pagina Ambienti.

    Vai ad Ambienti

  2. Nell'elenco degli ambienti, fai clic sul nome dell'ambiente. Si apre la pagina Dettagli ambiente.

  3. Vai alla scheda Configurazione dell'ambiente.

  4. Individua l'elemento Versione immagine e fai clic su Esegui l'upgrade.

  5. Nel menu a discesa Versione immagine, seleziona una versione di Cloud Composer di cui vuoi eseguire l'upgrade.

  6. Fai clic su Esegui upgrade.

gcloud

gcloud composer environments update \
  ENVIRONMENT_NAME \
  --location LOCATION \
  --image-version VERSION

Sostituisci:

Ad esempio:

gcloud composer environments update
  example-environment \
  --location us-central1 \
  --image-version composer-1.20.12-airflow-1.10.15

API

  1. Crea una richiesta API environments.patch.

  2. In questa richiesta:

    1. Nel parametro updateMask, specifica la maschera config.softwareConfig.imageVersion.

    2. 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-1.20.12-airflow-1.10.15"
      }
    }
  }

Terraform

Il campo image_version nel blocco config.software_config controlla l'immagine Cloud Composer del tuo ambiente. In questo 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:

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"
    }
  }
}

Passaggi successivi