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 environnement Cloud Composer unique, 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 d'en commencer une autre.
Limites de processeur du déclencheur
Cloud Composer version 2.4.4 introduit une approche différente de scaling des performances pour le composant Airflow triggerer, qui s'applique à toutes les versions de Cloud Composer 2.
Avant la version 2.4.4, les environnements Cloud Composer pouvaient utiliser un ou deux déclencheurs au maximum. Après le changement, vous pouvez avoir jusqu'à 10 déclencheurs par environnement, mais chaque déclencheur est limité à un maximum de 1 processeur virtuel.
Les opérations de mise à jour de l'environnement échouent si votre environnement est configuré avec plus d'un processeur virtuel par déclencheur. Vous devez ajuster la configuration pour respecter la limite d'un vCPU afin de pouvoir mettre à jour d'autres composants.
Pour en savoir plus, consultez les pages suivantes :
- Configurer l'allocation des ressources du déclencheur
- Ajuster le nombre de déclencheurs
- Résoudre les problèmes de mise à niveau de l'environnement : dépassement de l'utilisation du processeur du déclencheur
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 nœuds de calcul et les programmeurs 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 une nouvelle tentative pour ces tâches, 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 :
- 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 options de configuration Airflow, ou modifier leurs valeurs
- Modifier le processeur, la mémoire ou le stockage des nœuds de calcul Airflow.
Réduire le 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.
Modification du 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).
- Mettre en veille ou réactiver des DAG (pas une opération de mise à jour).
- Modification des variables Airflow (et non une opération de mise à jour).
- Modifier les connexions Airflow (pas une opération de mise à jour).
- Activer ou désactiver l'intégration de la traçabilité des données Dataplex Universal Catalog.
- Modifier la taille de l'environnement
- Modifier le nombre de programmeurs
- Modifier le processeur, la mémoire ou le stockage des programmeurs Airflow.
- Modifier le nombre de déclencheurs
- Modifier le processeur, la mémoire ou le stockage des déclencheurs Airflow.
- Modifier le processeur, la mémoire ou le stockage du serveur Web Airflow
- Augmenter ou diminuer le nombre minimal de nœuds de calcul.
- Réduisez le 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.
- Modifier les intervalles de maintenance.
- Modifier les paramètres des instantanés programmés.
- Modifier les libellés d'environnement
Mettre à jour avec Terraform
Exécutez terraform plan
avant terraform apply
pour voir si Terraform crée un nouvel environnement au lieu de le mettre à jour.
Avant de commencer
Vérifiez que votre compte, le compte de service de votre environnement et le compte de l'agent de service Cloud Composer dans votre projet disposent des autorisations requises :
Votre compte doit disposer d'un rôle permettant de déclencher des opérations de mise à jour d'environnement.
Le compte de service de votre environnement doit disposer d'un rôle doté d'autorisations suffisantes pour effectuer des opérations de mise à jour.
Le compte de l'agent de service Cloud Composer doit disposer des autorisations nécessaires pour créer des liaisons entre le compte de service de votre environnement et le compte de service Kubernetes du cluster de votre environnement.
La commande
gcloud composer environments update
se termine une fois l'opération terminée. Vous pouvez utiliser l'option--async
pour éviter d'attendre la fin de l'opération.
Mettre à jour des environnements
Pour en savoir plus sur la mise à jour de votre environnement, consultez les autres pages de documentation sur les opérations de mise à jour spécifiques. Exemple :
- Remplacer les options de configuration Airflow
- Définir des variables d'environnement
- Installer les dépendances Python
Afficher les détails de l'environnement
Console
Dans la console Google Cloud , accédez à la page Environnements.
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 de celui 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 (par exemple, en raison d'un délai d'expiration) et les modifications demandées peuvent ne pas être annulées dans tous les composants de l'environnement (comme 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.
Cela 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 ou une opération de maintenance du cluster Cloud Composer.
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 dépend des facteurs suivants :
La plupart des opérations de mise à jour ou de mise à niveau nécessitent le redémarrage des composants Airflow, tels que les programmeurs, les nœuds de calcul et les serveurs Web Airflow. Une fois qu'un composant est 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. La synchronisation des fichiers avec les programmeurs et les nœuds de calcul Airflow n'est pas instantanée. Elle dépend de la taille et du nombre total d'objets dans 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. Trop de données dans les dossiers/dags
et/plugins
peuvent 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. Pour en savoir plus, consultez également 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 en gérant la base de données Airflow de votre environnement.