Cloud Composer 1 | Cloud Composer 2
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 de scaling 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 deviennent disponibles dans votre environnement.
Pour un seul environnement Cloud Composer, vous ne pouvez lancer qu'une seule opération de mise à jour à la fois. Vous devez attendre la fin d'une opération de mise à jour avant de lancer une autre opération sur l'environnement.
Limites de processeur du déclencheur
La version 2.4.4 de Cloud Composer introduit une approche de scaling des performances différente pour le composant 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 ou deux déclencheurs au maximum. Après la modification, vous pouvez avoir jusqu'à 10 déclencheurs par environnement, mais chaque déclencheur est limité à un vCPU maximum.
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 processeur virtuel afin de pouvoir effectuer des mises à jour sur 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 du processeur du déclencheur
Impact des mises à jour sur l'exécution des tâches Airflow
Lorsque vous exécutez une opération de mise à jour, telle que l'installation de packages PyPI personnalisés, tous les programmeurs et nœuds de calcul Airflow de votre environnement redémarrent et 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 manière dont vous configurez les nouvelles tentatives pour vos DAG.
Mettre à 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
Vérifiez que votre compte, le compte de service de votre environnement et le compte d'agent de service Cloud Composer de votre projet disposent des autorisations requises:
Votre compte doit disposer d'un rôle pouvant déclencher des opérations de mise à jour de l'environnement.
Le compte de service de votre environnement doit disposer d'un rôle disposant d'autorisations suffisantes pour effectuer des opérations de mise à jour.
Le compte d'agent de service Cloud Composer doit être autorisé à 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
s'arrête 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 les environnements
Pour en savoir plus sur la mise à jour de votre environnement, consultez les autres pages de documentation portant sur des opérations de mise à jour spécifiques. Exemple :
- Remplacer les options de configuration Airflow
- Définir des variables d'environnement
- Installer des dépendances Python
- Faire évoluer des environnements
- Configurer des réseaux autorisés
- Mettre à jour les environnements avec une résilience élevée
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 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 (en raison d'un délai avant expiration, par exemple) et le rollback des modifications demandées peut ne pas être annulé dans tous les composants de l'environnement (tels que le serveur Web Airflow).
Par exemple, une opération de mise à jour peut être l'installation ou la suppression de modules PyPI supplémentaires, la redéfinition ou la définition d'une nouvelle variable d'environnement Airflow ou Cloud Composer, ou la modification de certains paramètres associés à Airflow.
Une telle 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 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 a 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 d'objets dans ces dossiers.
Nous vous recommandons de ne conserver que les fichiers du DAG et du plug-in dans les dossiers /dags
et /plugins
(respectivement), et de supprimer tous les autres fichiers. Une quantité trop importante de données dans les dossiers /dags
et /plugins
peut ralentir l'initialisation des composants Airflow et, dans certains cas, rendre l'initialisation impossible.
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 de données.
Pour en savoir plus, consultez également les articles suivants: