Mettre à niveau des environnements

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Cette page explique comment mettre à niveau votre environnement vers une nouvelle version de Cloud Composer ou d'Airflow.

À propos des opérations de mise à niveau

Vous pouvez mettre à niveau les versions Cloud Composer, Airflow, ou les deux en même temps.

Lorsque vous modifiez la version d'Airflow ou de Cloud Composer utilisée par votre environnement :

  • Cloud Composer redéploie les composants de votre environnement à l'aide de nouvelles versions des images Cloud Composer ;

  • Cloud Composer applique les modifications de configuration Airflow, telles que packages PyPI personnalisés ou les remplacements d'options de configuration Airflow, si votre ne les possédaient pas avant la mise à niveau.

  • Cloud Composer met à jour la connexion Airflow airflow_db pour qu'elle pointe vers la nouvelle base de données Cloud SQL.

La mise à niveau ne modifie pas la façon dont vous vous connectez aux ressources de votre (par exemple, l'URL du bucket de votre environnement ou l'environnement Web Airflow Google Cloud.

Limites des opérations de mise à niveau

Les opérations de mise à niveau sont soumises aux limites suivantes :

  • Vous ne pouvez pas revenir à une version antérieure de Cloud Composer ou Airflow version.
  • Dans la console Google Cloud, vous ne pouvez passer qu'à la dernière version versions de Cloud Composer.

  • Dans Google Cloud CLI, l'API ou Terraform, vous pouvez mettre à niveau un environnement vers les dernières versions compatibles, trois versions précédentes de Cloud Composer, la dernière version de correctif de la version mineure précédente et des versions avec une chronologie de mise à niveau étendue. Elle n'est pas d'effectuer une mise à niveau vers d'autres versions de Cloud Composer, même si elles sont toujours prises en charge et peuvent être utilisées pour créer un nouvel environnement.

  • La version vers laquelle vous effectuez la mise à niveau doit être compatible avec le version actuelle de Python.

  • Les limites de quota de l'API Compute Engine peuvent empêcher les mises à niveau. Dans la console Google Cloud, accédez à la page IAM et administration > Quotas et limites du système, puis vérifiez si le quota de l'API Compute Engine pour le processeur n'est pas dépassé. Si le le seuil de quota est presque atteint, demandez une extension de quota avant l'opération de mise à niveau.

  • Il n'est pas possible de passer à une autre version majeure de Cloud Composer ou d'Airflow en place. Vous pouvez transférer manuellement les DAG et la configuration entre les environnements. Pour en savoir plus, consultez les pages suivantes :

  • Vous ne pouvez pas mettre à niveau votre environnement si la base de données Airflow contient de plus de 16 Go de données. Lors d'une mise à niveau, un avertissement s'affiche si la taille de la base de données Airflow dépasse 16 Go. Dans ce cas, effectuez la maintenance de la base de données afin de réduire la taille de la base de données.

Avant de commencer

  • Nous vous recommandons de créer un nouvel instantané de l'environnement afin de pouvoir le recréer si nécessaire.

  • Votre compte doit disposer d'un rôle pouvant déclencher la mise à niveau de l'environnement opérations. De plus, le compte de service de l'environnement doit disposer dispose des autorisations nécessaires pour effectuer des opérations de mise à niveau. Pour en savoir plus, consultez la section Contrôle des accès.

Vérifier que votre environnement est à jour

Cloud Composer affiche des avertissements l'image de votre environnement arrive bientôt à expiration. Vous pouvez utiliser ces avertissements pour protéger en permanence votre environnement compatible.

Un message d'abandon s'affiche sur la page "Détails de l'environnement".
Figure 1. Un message d'abandon s'affiche sur la page des détails de l'environnement.

Cloud Composer effectue le suivi de la version d'image Cloud Composer sur laquelle repose votre environnement. Lorsqu'elle approche du end of support date, un avertissement s'affiche dans la liste des environnements et sur Page Détails de l'environnement.

Pour vérifier si votre environnement est à jour :

Console

  1. Dans la console Google Cloud, accédez à la page Environnements.

    Accéder à la page Environnements

  2. Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.

  3. Accédez à l'onglet Configuration de l'environnement.

  4. Dans le champ Version de l'image, l'un des messages suivants s'affiche :

    • Dernière version disponible Votre image d'environnement est entièrement compatible.

    • Nouvelle version disponible Votre image d'environnement est entièrement compatible et vous pouvez la mettre à niveau vers une version ultérieure.

    • La prise en charge de cette version de l'image prendra fin dans… Votre image d'environnement approche de la fin de la période de prise en charge pcomplète.

    • Cette version n'est plus compatible depuis le… Votre environnement a dépassé la période de prise en charge complète.

gcloud

Cette fonctionnalité n'est pas disponible via la Google Cloud CLI. Vous pouvez plutôt afficher les mises à niveau disponibles, qui affiche les nouvelles versions disponibles.

API

Cette fonctionnalité n'est pas disponible via l'API. Vous pouvez plutôt afficher les mises à niveau disponibles, qui affiche les nouvelles versions disponibles.

Afficher les mises à niveau disponibles

Pour afficher les versions Cloud Composer que vous pouvez mettre à niveau, procédez comme suit :

Console

  1. Dans la console Google Cloud, accédez à la page Environnements.

    Accéder à la page Environnements

  2. Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.

  3. Accédez à l'onglet Configuration de l'environnement, puis cliquez sur Mettre à niveau la version d'image.

  4. Pour obtenir la liste des versions disponibles, cliquez sur le menu déroulant Version de l'image de Cloud Composer.

gcloud

gcloud composer environments list-upgrades \
  ENVIRONMENT_NAME \
  --location LOCATION

Remplacez :

  • ENVIRONMENT_NAME par le nom de l'environnement.
  • LOCATION par la région où se trouve l'environnement.

Exemple :

gcloud composer environments list-upgrades example-environment \
  --location us-central1

API

Vous pouvez afficher les versions disponibles pour un établissement. Pour ce faire, créez une requête API imageVersions.list.

Exemple :

// GET https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/imageVersions

Vérifier les conflits de packages PyPI avant la mise à niveau

Vous pouvez vérifier si les packages PyPI installés dans votre environnement des conflits avec les packages préinstallés Image Cloud Composer.

Une vérification réussie signifie qu'il n'y a pas de conflits dans le package PyPI dépendances entre la version actuelle et la version spécifiée. Toutefois, une l'opération de mise à niveau peut échouer pour d'autres raisons.

Console

Pour exécuter une vérification des mises à niveau de votre environnement, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page Environnements.

    Accéder à la page Environnements

  2. Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.

  3. Accédez à l'onglet Configuration de l'environnement, recherchez l'entrée Version de l'image, puis cliquez sur Mettre à niveau.

  4. Dans la boîte de dialogue Mise à niveau des versions d'environnement, dans la liste déroulante Nouvelle version, sélectionnez une version Cloud Composer vers laquelle vous souhaitez effectuer la mise à niveau.

  5. Dans la section Compatibilité des packages PyPI, cliquez sur Rechercher des conflits.

  6. Attendez la fin de la vérification. En cas de conflits de dépendance du package PyPI, les messages d'erreur affichés contiennent des détails sur les packages en conflit et les versions de package.

gcloud

Pour exécuter une vérification de la mise à niveau de votre environnement, exécutez la commande environments check-upgrade avec la version d'image Cloud Composer vers laquelle vous souhaitez effectuer la mise à niveau.

gcloud composer environments check-upgrade \
  ENVIRONMENT_NAME \
  --location LOCATION \
  --image-version VERSION

Remplacez :

  • ENVIRONMENT_NAME par le nom de l'environnement.
  • LOCATION par la région où se trouve l'environnement.
  • VERSION avec La nouvelle version de l'image Cloud Composer que vous souhaitez mettre à niveau, dans la composer-a.b.c-airflow-x.y.z . Vous pouvez aussi utiliser alias de version.

Exemple :

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

Exemple de résultat :

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.

Vous pouvez également exécuter une vérification de mise à niveau de manière asynchrone. Utilisez l'argument --async pour effectuer un appel asynchrone, puis vérifiez le résultat à l'aide de la commande gcloud composer operations describe.

API

Rédigez une requête d'API environments.checkUpgrade.

Spécifiez la version de l'image dans le champ imageVersion :

{
  "imageVersion": "VERSION"
}

Remplacez VERSION par la nouvelle version vers laquelle vous souhaitez effectuer la mise à niveau, au format composer-a.b.c-airflow-x.y.z.

Mettre à niveau votre environnement

.

Pour mettre à niveau votre environnement vers une version ultérieure de Cloud Composer ou d'Airflow :

Console

  1. Dans la console Google Cloud, accédez à la page Environnements.

    Accéder à la page Environnements

  2. Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.

  3. Accédez à l'onglet Configuration de l'environnement.

  4. Recherchez l'élément Version de l'image, puis cliquez sur Mettre à niveau.

  5. Dans le menu déroulant Version de l'image, sélectionnez une version de Cloud Composer que vous souhaitez mettre à niveau.

  6. Cliquez sur Mettre à jour.

gcloud

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

Remplacez :

  • ENVIRONMENT_NAME par le nom de l'environnement.
  • LOCATION par la région où se trouve l'environnement.
  • VERSION par la nouvelle version d'image Cloud Composer vers laquelle vous souhaitez effectuer la mise à niveau, au format composer-a.b.c-airflow-x.y.z. Vous pouvez aussi utiliser alias de version.

Exemple :

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

API

  1. Rédigez une requête API environments.patch.

  2. Dans cette requête :

    1. Dans le paramètre updateMask, spécifiez la Masque config.softwareConfig.imageVersion.

    2. Dans le corps de la requête, dans le champ imageVersion, spécifiez la nouvelle version à laquelle vous souhaitez passer.

Exemple :

// 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

Le champ image_version du bloc config.software_config contrôle l'image Cloud Composer de votre environnement. Dans ce champ, spécifiez une nouvelle image Cloud Composer.

  resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {
    software_config {
      image_version = "VERSION"
    }
  }
}

Remplacez :

  • ENVIRONMENT_NAME par le nom de l'environnement.
  • LOCATION par la région dans laquelle se trouve l'environnement. la nouvelle version d'image Cloud Composer vers laquelle vous souhaitez effectuer la mise à niveau, au format composer-a.b.c-airflow-x.y.z. Vous pouvez aussi utiliser alias de version.

Exemple :

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

Étape suivante