Upgrade degli ambienti

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

In questa pagina viene descritto come eseguire l'upgrade dell'ambiente a una nuova Flusso d'aria completamente gestita.

Informazioni sulle operazioni di upgrade

In Cloud Composer 3, non gestisci la versione di Cloud Composer del tuo ambiente:

  • Cloud Composer esegue automaticamente l'upgrade dell'infrastruttura componenti del tuo ambiente. Questi componenti sono correlati le funzionalità di Cloud Composer e non modificano il funzionamento di Airflow o come vengono eseguiti i DAG Airflow.
  • Cloud Composer non esegue automaticamente l'upgrade della versione di Airflow componenti Airflow o componenti strettamente correlati ad Airflow carichi di lavoro con scale out impegnativi. Non vengono modificate quando viene eseguito l'upgrade dei componenti dell'infrastruttura automaticamente.
  • Puoi eseguire l'upgrade manuale a un nuovo Airflow della versione o della build.

Ad esempio, puoi utilizzare la stessa versione e build di Airflow per diversi mesi senza eseguire upgrade e il tuo ambiente riceve gli aggiornamenti, le correzioni e i miglioramenti più recenti di Cloud Composer componenti dell'infrastruttura dell'ambiente di gestione. Quando in seguito decidi di passare nuova versione o build di Airflow, esegui l'upgrade della versione di Airflow nel tuo completamente gestito di Google Cloud.

Informazioni sull'upgrade della versione di Airflow

Il tuo ambiente modifica la versione o la build di Airflow nel seguente modo modo:

  • Sei tu a controllare la versione (e la build) di Airflow del tuo ambiente. Puoi esegui l'operazione di upgrade della versione di Airflow quando scegli di cambiare del tuo ambiente a una versione diversa di Airflow. Ad esempio, si verificano se la versione e la build di Airflow correnti sono non è più supportato.

  • Cloud Composer esegue nuovamente il deployment dei componenti Airflow dell'ambiente usando la versione e la build Airflow specificate.

  • Cloud Composer applica le modifiche alla configurazione di Airflow, come l'override dei pacchetti PyPI personalizzati o dell'opzione di configurazione Airflow, se prima dell'upgrade.

  • Cloud Composer aggiorna la connessione airflow_db di Airflow a puntano al nuovo database Cloud SQL.

La modifica della versione di Airflow non cambia il modo in cui ti connetti alle risorse nel tuo ambiente, come l'URL del bucket dell'ambiente o il server web di Airflow.

Informazioni sulle operazioni di upgrade automatico dell'infrastruttura

Cloud Composer esegue periodicamente operazioni di upgrade automatico dell'infrastruttura:

  • Le operazioni di upgrade automatico dell'infrastruttura vengono eseguite periodicamente durante finestre di manutenzione specificate per l'ambiente.

  • Non è possibile disabilitare gli upgrade automatici dell'infrastruttura in Cloud Composer 3. Puoi controllare i periodi di tempo in cui gli upgrade automatici che puoi eseguire specificando periodi di manutenzione personalizzati per il tuo ambiente.

  • Questa operazione è visibile nella console Google Cloud e dei log dell'ambiente di lavoro, come qualsiasi altra operazione a lunga esecuzione. Mentre non puoi avviare altre operazioni nell'ambiente (ma puoi comunque eseguire i DAG Airflow).

  • Gli upgrade automatici dell'infrastruttura non interrompono Airflow o le attività Airflow già in esecuzione. Il risultato potrebbe essere un upgrade in un breve periodo di indisponibilità all'infrastruttura dell'ambiente come il monitoraggio dell'ambiente.

Limitazioni delle operazioni di upgrade

Le operazioni di upgrade hanno le seguenti limitazioni:

  • Non puoi eseguire il downgrade a una versione precedente o a una build di Airflow.

  • Non puoi eseguire l'upgrade dell'ambiente se il database Airflow contiene e oltre 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 la dimensione del database.

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 l'upgrade dell'ambiente operations. Inoltre, l'account di servizio dell'ambiente deve avere un con autorizzazioni sufficienti per eseguire operazioni di upgrade. Per ulteriori informazioni per ulteriori informazioni, consulta Controllo dell'accesso.

Verifica che il tuo ambiente sia aggiornato

Cloud Composer visualizza avvisi quando la build Airflow del tuo ambiente si avvicina alla data di fine del supporto. Puoi utilizzare questi avvisi per mantenere sempre il tuo ambiente supportato.

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

Cloud Composer tiene traccia Versione e build di Airflow su cui si basa il tuo ambiente. Quando si avvicina alla data di fine assistenza, 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 dell'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 tuo ambiente è passato l'intero periodo di assistenza.

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 Visualizza gli upgrade disponibili per visualizzare 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 sull'icona di Cloud Composer Menu a discesa Versione immagine.

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à. Per farlo, crea un 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 Versione o build di Airflow.

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 upgrade, verifica il tuo ambiente:

  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, individua la voce Versione immagine e fai clic su Esegui l'upgrade.

  4. Nella finestra di dialogo Upgrade della versione dell'ambiente, in Nell'elenco a discesa Nuova versione, seleziona una versione o una build di Airflow 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. In caso di dipendenza dal pacchetto PyPI conflitti, i messaggi di errore visualizzati contengono i dettagli i pacchetti e le versioni dei pacchetti in conflitto.

gcloud

Per eseguire un controllo dell'upgrade per il tuo ambiente, esegui environments check-upgrade utilizzando il comando Versione o build di Airflow. di cui vuoi eseguire l'upgrade.

gcloud composer environments check-upgrade \
  ENVIRONMENT_NAME \
  --location LOCATION \
  --airflow-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 e build di Airflow di cui vuoi eseguire l'upgrade nel formato airflow-x.y.z-build.t. Puoi anche utilizzare tutte le alias di versione.

Esempio:

gcloud composer environments check-upgrade example-environment \
  --location us-central1 \
  --airflow-version airflow-2.7.3-build.8

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-3-airflow-2.7.3-build.8. 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 dell'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-3-airflow-x.y.z-build.t.

Esegui l'upgrade dell'ambiente

per eseguire l'upgrade dell'ambiente a una nuova versione o build di 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 la voce Versione immagine e fai clic su Esegui l'upgrade.

  5. Nel menu a discesa Versione immagine, seleziona una versione o una build di Airflow di cui vuoi eseguire l'upgrade.

  6. Fai clic su Esegui l'upgrade.

gcloud

gcloud composer environments update \
  ENVIRONMENT_NAME \
  --location LOCATION \
  --airflow-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 e build di Airflow di cui vuoi eseguire l'upgrade nel formato airflow-x.y.z-build.t. Puoi anche utilizzare tutte le alias di versione.

Ad esempio:

gcloud composer environments update
  example-environment \
  --location us-central1 \
  --airflow-version airflow-2.7.3-build.8

API

  1. Creare una richiesta API environments.patch.

  2. In questa richiesta:

    1. Nel parametro updateMask, specifica Maschera config.softwareConfig.imageVersion.

    2. Nel corpo della richiesta, nel campo imageVersion, specifica un nuovo 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-3-airflow-2.7.3-build.8"
      }
    }
  }

Terraform

Il campo image_version nel blocco config.software_config controlli la versione e la build di Airflow del tuo ambiente. In questo specifica una nuova versione e build di Airflow.

  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 e build di Airflow di cui vuoi eseguire l'upgrade nel formato airflow-x.y.z-build.t. Puoi anche utilizzare tutte le alias di versione.

Esempio:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {
    software_config {
      image_version = "airflow-2.7.3-build.8"
    }
  }
}

Passaggi successivi