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 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 deviennent 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 lancer une autre opération d'environnement.
Impact des mises à jour sur l'exécution des tâches Airflow
Lorsque vous exécutez une opération de mise à jour, les programmeurs et les les nœuds de calcul 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 de la tâche Airflow :
- Mettre à niveau votre environnement vers une nouvelle version
- Ajouter, modifier ou supprimer des packages PyPI personnalisés
- Modifier les variables d'environnement Cloud Composer
- Ajouter ou supprimer des forçages d'options de configuration Airflow, ou modifier leurs valeurs
- Modifier le processeur, la mémoire ou l'espace de 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 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 (et non une 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
- Modification des déclencheurs Airflow CPU, mémoire ou stockage.
- 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éduire 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.
- Modification des intervalles de maintenance.
- Modifier les paramètres des instantanés programmés
- Modifier les étiquettes 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 de votre projet disposent des autorisations requises :
Votre compte doit disposer d'un rôle qui peut déclencher des opérations de mise à jour de l'environnement.
Le compte de service de votre environnement doit disposer d'un rôle autorisé à effectuer des opérations de mise à jour.
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 pour terminer l'opération.
Mettre à jour les 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 des dépendances Python
- Faire évoluer des environnements
- Configurer des réseaux autorisés
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 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.
Une telle situation peut se produire si une opération de mise à jour est déclenchée alors que d'autres sont en cours, comme la configuration un autoscaling 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é. 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 planificateurs et les nœuds de calcul Airflow n'est pas instantané et 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 /dags
et /plugins
.
dossiers (respectivement) et supprimer tous les autres fichiers. Trop de données
dans les dossiers /dags
et /plugins
peut ralentir l'initialisation d'Airflow
composants et, dans certains cas,
peut 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.
Pour en savoir plus, consultez également les pages suivantes :
Mettre à niveau le type de machine pour les nœuds GKE
Vous pouvez mettre à niveau manuellement le type de machine pour le cluster GKE de votre environnement. Pour ce faire, supprimez le pool default-pool
existant et créez un nouveau pool default-pool
avec le type de machine souhaité.
Nous vous recommandons de spécifier un type de machine adapté au type dans votre environnement Cloud Composer lorsque vous créer un environnement.
Si vous exécutez des tâches qui effectuent des calculs gourmands en ressources, vous pouvez utiliser des opérateurs GKE.
Après une mise à niveau, le type de machine précédent est toujours indiqué dans les détails de votre environnement. Par exemple, la page "Détails de l'environnement" ne reflète pas le nouveau type de machine.
Console
Pour mettre à jour le type de machine, procédez comme suit :
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.
Obtenez des informations sur le pool de nœuds par défaut :
Accédez à l'onglet Configuration de l'environnement.
Cliquez sur le lien Afficher les détails du cluster.
Dans la section Nœuds de la page Clusters, cliquez sur default-pool.
Notez toutes les informations concernant le pool default-pool dans les détails du pool de nœuds. . Vous utiliserez ces informations afin de créer un nouveau pool de nœuds par défaut pour votre environnement.
Pour supprimer default-pool:
Sur la page Détails du pool de nœuds, cliquez sur la flèche de retour pour revenir à la page Clusters de votre environnement.
Dans la section Pools de nœuds, cliquez sur l'icône en forme de corbeille du pool default-pool. Cliquez ensuite sur Supprimer pour confirmer l'opération.
Pour créer le nouveau pool default-pool, procédez comme suit :
Sur la page Clusters, cliquez sur Ajouter un pool de nœuds.
Dans le champ "Nom", saisissez
default-pool
. Vous devez utiliser le nomdefault-pool
pour que les workflows de votre environnement puissent s'exécuter dans ce pool.Saisissez les paramètres "Taille" et "Nœuds".
(Pour les comptes de service Compute Engine par défaut uniquement) Sous Niveaux d'accès, sélectionnez Autoriser l'accès complet à l'ensemble des API Cloud.
Cliquez sur Enregistrer.
Si vous remarquez que les charges de travail sont réparties de manière inégale, ramenez le déploiement airflow-worker à zéro et effectuez à nouveau un scaling à la hausse.