Mettre à jour les environnements Cloud Composer

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Cette page explique comment mettre à jour un environnement.

À propos des opérations de mise à jour

Lorsque vous modifiez les paramètres de votre environnement, par exemple en spécifiant de nouveaux paramètres d'évolutivité et de performances, ou en installant des packages PyPI personnalisés, votre environnement est mis à jour.

Une fois cette opération terminée, les modifications sont disponibles dans votre environnement.

Pour un seul environnement Cloud Composer, vous ne pouvez démarrer qu'une seule opération de mise à jour à la fois. Vous devez attendre la fin d'une opération de mise à jour avant de démarrer une autre opération d'environnement.

Limites de processeur du déclencheur

Cloud Composer dans la version 2.4.4 introduit une approche différente de scaling des performances pour le composant de déclencheur Airflow, qui s'applique à toutes les versions de Cloud Composer 2.

Avant la version 2.4.4, les environnements Cloud Composer pouvaient utiliser un maximum de 1 ou 2 déclencheurs. Après la modification, vous pouvez avoir jusqu'à 10 déclencheurs par environnement, mais chaque déclencheur est limité à un maximum de 1 vCPU.

Les opérations de mise à jour de l'environnement échouent si votre environnement est configuré avec plus d'une vCPU par déclencheur. Vous devez ajuster la configuration pour respecter la limite d'une vCPU afin d'effectuer des mises à jour sur d'autres composants.

Pour en savoir plus, consultez les pages suivantes :

Impact des mises à jour sur les tâches Airflow en cours d'exécution

Lorsque vous exécutez une opération de mise à jour, les programmeurs et les nœuds de calcul Airflow de votre environnement peuvent nécessiter un redémarrage. Dans ce cas, toutes les tâches en cours d'exécution sont arrêtées. Une fois l'opération de mise à jour terminée, Airflow planifie ces tâches pour une nouvelle tentative, en fonction de la façon dont vous configurez les nouvelles tentatives pour vos DAG.

Les modifications suivantes entraînent l'arrêt des tâches Airflow :

  • Mise à niveau de votre environnement vers une nouvelle version.
  • Ajout, modification ou suppression de packages PyPI personnalisés.
  • Modification des variables d'environnement Cloud Composer.
  • Ajout ou suppression de remplacements d'options de configuration Airflow, ou modification de leurs valeurs.
  • Modification du processeur, de la mémoire ou du stockage des nœuds de calcul Airflow.
  • Réduction du nombre maximal de nœuds de calcul Airflow, si la nouvelle valeur est inférieure au nombre de nœuds de calcul en cours d'exécution. Par exemple, si un environnement exécute actuellement trois nœuds de calcul et que le nombre maximal est réduit à deux.

  • Modification du mode de résilience de l'environnement.

Les modifications suivantes n'entraînent pas l'arrêt des tâches Airflow :

  • Création, modification ou suppression d'un DAG (pas une opération de mise à jour).
  • Suspension ou reprise de DAG (pas une opération de mise à jour).
  • Modification des variables Airflow (pas une opération de mise à jour).
  • Modification des connexions Airflow (pas une opération de mise à jour).
  • Activation ou désactivation de l'intégration de la traçabilité des données Knowledge Catalog.
  • Modification de la taille de l'environnement.
  • Modification du nombre de programmeurs.
  • Modification du processeur, de la mémoire ou du stockage des programmeurs Airflow.
  • Modification du nombre de déclencheurs.
  • Modification du processeur, de la mémoire ou du stockage des déclencheurs Airflow.
  • Modification du processeur, de la mémoire ou du stockage du serveur Web Airflow.
  • Augmentation ou diminution du nombre minimal de nœuds de calcul.
  • Réduction du nombre maximal de nœuds de calcul Airflow. Par exemple, si un environnement exécute actuellement deux nœuds de calcul et que le nombre maximal est réduit à trois.
  • Modification des intervalles de maintenance.
  • Modification des paramètres d'instantanés planifiés.
  • Modification des libellés d'environnement.

Mise à jour avec Terraform

Exécutez terraform plan avant terraform apply pour voir si Terraform crée un environnement au lieu de le mettre à jour.

Avant de commencer

Mettre à jour des environnements

Pour en savoir plus sur la mise à jour de votre environnement, consultez d'autres pages de documentation sur des opérations de mise à jour spécifiques. Exemple :

Afficher les détails de l'environnement

Console

  1. Dans la Google Cloud console, 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.

gcloud

Exécutez la commande gcloud suivante :

gcloud composer environments describe ENVIRONMENT_NAME \
  --location LOCATION

Remplacez :

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

API

Rédigez une requête API environments.get.

Exemple :

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

Terraform

Exécutez la commande terraform state show pour la ressource de votre environnement.

Le nom de la ressource Terraform de votre environnement peut être différent du nom de votre environnement.

terraform state show google_composer_environment.RESOURCE_NAME

Remplacez :

  • RESOURCE_NAME par le nom de la ressource de votre environnement.

Rollback des modifications de mise à jour

Dans de rares cas, une opération de mise à jour peut être interrompue (par exemple, en raison d'un délai avant expiration) et les modifications demandées peuvent ne pas être annulées dans tous les composants de l'environnement (tels que le serveur Web Airflow).

Par exemple, une opération de mise à jour peut installer ou supprimer des modules PyPI supplémentaires, redéfinir ou définir une nouvelle variable d'environnement Airflow ou Cloud Composer, ou modifier certains paramètres liés à Airflow.

Une telle situation peut se produire si une opération de mise à jour est déclenchée lorsque d'autres opérations sont en cours, par exemple l'autoscaling du cluster Cloud Composer ou une opération de maintenance.

Dans ce cas, il est recommandé de répéter l'opération.

Durée des opérations de mise à jour ou de mise à niveau

La durée des opérations de mise à jour et de mise à niveau est affectée par les facteurs suivants :

  • La plupart des opérations de mise à jour ou de mise à niveau nécessitent le redémarrage de composants Airflow tels que les programmeurs, les nœuds de calcul et les serveurs Web Airflow. Une fois un composant redémarré, il doit être initialisé. Lors de l'initialisation, les programmeurs et les nœuds de calcul Airflow téléchargent le contenu des dossiers /dags et /plugins à partir du bucket de l'environnement. Le processus de synchronisation des fichiers avec les programmeurs et les nœuds de calcul Airflow n'est pas instantané et dépend de la taille totale et du nombre de tous les objets de ces dossiers.

    Nous vous recommandons de ne conserver que les fichiers DAG et de plug-in dans les dossiers /dags et /plugins (respectivement) et de supprimer tous les autres fichiers. Un volume de données trop important dans les dossiers /dags et /plugins peut ralentir l'initialisation des composants Airflow et, dans certains cas, la rendre impossible.

    Nous vous recommandons de conserver moins de 30 Mo de données dans les dossiers /dags et /plugins, et de ne surtout pas dépasser 100 Mo de données. Pour en savoir plus, consultez Gérer un grand nombre de DAG et de plug-ins.

  • La taille de la base de données Airflow peut augmenter considérablement la durée des opérations de mise à niveau. Nous vous recommandons de maintenir la taille de la base de données Airflow de votre environnement.

Étape suivante