Mettre à jour des environnements

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

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 lorsque vous spécifiez un nouveau scaling et de performances ou l'installation de packages PyPI personnalisés, les mises à jour de l'environnement.

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

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

Limites de processeur du déclencheur

Dans la version 2.4.4, Cloud Composer introduit un autre niveau de performances approche de scaling du 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 des que 1 vCPU par déclencheur. Vous devez ajuster la configuration pour respecter la limite d'un seul 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 planificateurs et les nœuds de calcul Airflow de votre environnement peuvent nécessiter un redémarrage. Dans ce cas, tous les tâches en cours d'exécution sont arrêtées. Une fois que l'opération de mise à jour est est terminée, Airflow planifie ces tâches pour une nouvelle tentative, en fonction de la manière configurer de nouvelles tentatives pour vos DAG.

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

  • Mettre à niveau votre environnement vers une nouvelle version
  • Ajout, modification ou suppression de packages PyPI personnalisés
  • Modifier les variables d'environnement Cloud Composer
  • Ajouter ou supprimer des remplacements d'options de configuration Airflow, ou modifier leurs valeurs.
  • Modification des nœuds de calcul Airflow CPU, mémoire ou stockage.
  • 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 actuellement 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.
  • Modifier le mode de résilience de l'environnement

Les modifications suivantes n'entraînent pas l'arrêt de la tâche Airflow :

  • Créer, mettre à jour ou supprimer un DAG (et non une opération de mise à jour).
  • Mise en pause ou réactivation des DAG (il ne s'agit pas d'une opération de mise à jour).
  • Modification des variables Airflow (pas d'opération de mise à jour).
  • Modification des connexions Airflow (et non une opération de mise à jour).
  • Activer ou désactiver l'intégration de la traçabilité des données Dataplex
  • Modification de la taille de l'environnement.
  • Modifier le nombre de programmeurs
  • Modifier le processeur, la mémoire ou l'espace de stockage des planificateurs Airflow
  • Modifier le nombre de déclencheurs
  • Modifier le processeur, la mémoire ou l'espace de stockage des déclencheurs Airflow
  • Modifier le processeur, la mémoire ou l'espace de stockage du serveur Web Airflow
  • Augmenter ou diminuer le nombre minimal de nœuds de calcul
  • Réduction du nombre maximal de nœuds de calcul Airflow. Par exemple, si un exécute actuellement deux nœuds de calcul, alors que le nombre maximal est réduit à trois.
  • Modification des intervalles de maintenance.
  • Modification des paramètres des instantanés programmés...
  • Modification des libellés d'environnement.

Mettre à jour avec Terraform

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

Avant de commencer

Mettre à jour les environnements

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

Afficher les détails de l'environnement

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.

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 où 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 de celui nom de votre environnement.

terraform state show google_composer_environment.RESOURCE_NAME

Remplacez :

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

Effectuer un rollback des modifications apportées par une mise à jour

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

Par exemple, une opération de mise à jour peut consister à 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.

Cette situation peut se produire si une opération de mise à jour est déclenchée alors que 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 plupart des opérations de mise à jour ou de migration nécessitent de redémarrer les composants Airflow tels que les planificateurs, les nœuds de calcul et les serveurs Web Airflow.

Une fois qu'un composant a été redémarré, il doit être initialisé. Pendant le l'initialisation, les programmeurs et les nœuds de calcul Airflow téléchargent le contenu de /dags. et /plugins du bucket de l'environnement. Processus de synchronisation vers les programmeurs et les nœuds de calcul Airflow ne sont pas instantanés et dépendent de la taille totale et le nombre de tous les objets dans ces dossiers.

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

Nous vous recommandons de conserver moins de 30 Mo de données dans les dossiers /dags et /plugins, et de ne pas dépasser 100 Mo.

Pour en savoir plus, consultez également les pages suivantes:

Étape suivante