Résoudre les problèmes liés aux mises à jour et aux mises à niveau d'environnement

Cloud Composer 1 | Cloud Composer 2

Cette page fournit des informations de dépannage pour les problèmes que vous pouvez rencontrer lors de la mise à jour ou de la mise à niveau des environnements Cloud Composer.

Pour en savoir plus sur la création d'environnements, consultez la page Dépannage pour la création d'environnements.

Lorsque les environnements Cloud Composer sont mis à jour, la majorité des problèmes se produisent pour les raisons suivantes :

  • Problèmes d'autorisation de compte de service.
  • Problèmes de dépendance PyPI
  • Taille de la base de données Airflow

Autorisations insuffisantes pour mettre à jour ou mettre à niveau un environnement

Si Cloud Composer ne peut pas mettre à jour ou mettre à niveau un environnement en raison d'autorisations insuffisantes, le message d'erreur suivant est généré:

ERROR: (gcloud.composer.environments.update) PERMISSION_DENIED: The caller does not have permission

Solution: attribuez des rôles à votre compte et au compte de service de votre environnement, comme décrit dans la section Contrôle des accès.

Le compte de service de l'environnement ne dispose pas des autorisations nécessaires

Lors de la création d'un environnement Cloud Composer, vous spécifiez un compte de service qui exécute les nœuds de cluster GKE de l'environnement. Si ce compte de service ne dispose pas des autorisations suffisantes pour l'opération demandée, Cloud Composer génère une erreur:

    UPDATE operation on this environment failed 3 minutes ago with the
    following error message:
    Composer Backend timed out. Currently running tasks are [stage:
    CP_COMPOSER_AGENT_RUNNING
    description: "No agent response published."
    response_timestamp {
      seconds: 1618203503
      nanos: 291000000
    }
    ].

Solution: attribuez des rôles à votre compte et au compte de service de votre environnement, comme décrit dans la section Contrôle des accès.

La taille de la base de données Airflow est trop importante pour effectuer l'opération

Une opération de mise à niveau Cloud Composer peut échouer, car la taille de la base de données Airflow est trop importante pour que les opérations de mise à niveau aboutissent.

Si la taille de la base de données Airflow est supérieure à 16 Go, Cloud Composer génère l'erreur suivante :

Airflow database uses more than 16 GB. Please clean the database before upgrading.

Solution : effectuez le nettoyage de la base de données Airflow, comme décrit dans la section Maintenance de la base de données Airflow.

Échec de la mise à niveau vers une nouvelle version de Cloud Composer en raison de conflits de packages PyPI

Lorsque vous mettez à niveau un environnement avec des packages PyPI personnalisés installés, vous pouvez rencontrer des erreurs liées aux conflits de packages PyPI. Cela peut se produire lorsque la nouvelle image Cloud Composer contient des versions plus récentes de packages préinstallés, qui provoquent des conflits de dépendances avec les packages PyPI que vous avez installés dans votre environnement.

Solution :

  • Pour obtenir des informations détaillées sur les conflits de packages, exécutez une vérification des mises à niveau.
  • Assouplissez les contraintes de version pour les packages PyPI personnalisés installés. Par exemple, au lieu de spécifier une version en tant que ==1.0.1, spécifiez-la en tant que >=1.0.1.
  • Pour en savoir plus sur la modification des exigences de version pour résoudre les dépendances en conflit, consultez la documentation sur pip.

L'absence de connectivité au DNS peut causer des problèmes lors des mises à niveau ou des mises à jour

De tels problèmes de connectivité peuvent entraîner ce type d'entrées de journal:

WARNING - Compute Engine Metadata server unavailable attempt 1 of 5. Reason: [Errno -3] Temporary failure in name resolution Error

Cela signifie généralement qu'il n'existe aucune route vers le DNS. Vous devez donc vous assurer que le nom DNS "metadata.google.internal" peut être résolu en adresse IP à partir des réseaux de clusters, de pods et de services. Vérifiez si l'accès privé à Google est activé dans le VPC (dans l'hôte ou le projet de service) où votre environnement est créé.

Informations complémentaires :

Étapes suivantes