Dépannage des tâches KubernetesExecutor

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Cette page explique comment résoudre les problèmes liés aux tâches exécutées par KubernetesExecutor et fournit des solutions aux problèmes courants.

Approche générale du dépannage de KubernetesExecutor

Pour résoudre les problèmes liés à une tâche exécutée avec KubernetesExecutor, effectuez les actions suivantes dans l'ordre indiqué:

  1. Vérifiez les journaux de la tâche dans l'interface utilisateur du DAG ou l'interface utilisateur Airflow.

  2. Consultez les journaux du programmeur dans la console Google Cloud:

    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.

    3. Accédez à l'onglet Journaux et consultez la section Journaux Airflow > Scheduler.

    4. Pour une période donnée, inspectez le pod de nœuds de calcul de KubernetesExecutor qui exécutait la tâche. Si le pod n'existe plus, ignorez cette étape. Le nom du pod inclut le préfixe airflow-k8s-worker, ainsi qu'un nom de DAG ou un nom de tâche. Recherchez tous les problèmes signalés, tels qu'une tâche ayant échoué ou une tâche non programmable.

Scénarios de dépannage courants pour KubernetesExecutor

Cette section répertorie les scénarios de dépannage courants que vous pouvez rencontrer avec KubernetesExecutor.

La tâche passe à l'état Running, puis échoue lors de l'exécution.

Symptômes :

  • Des journaux pour cette tâche sont disponibles dans l'interface utilisateur d'Airflow et dans l'onglet Journaux de la section Nœuds de calcul.

Solution: les journaux des tâches indiquent le problème.

L'instance de tâche passe à l'état queued, puis est marquée comme UP_FOR_RETRY ou FAILED au bout d'un certain temps.

Symptômes :

  • Il n'existe aucun journal pour la tâche dans l'interface utilisateur d'Airflow et dans l'onglet Journaux de la section Nœuds de calcul.
  • L'onglet Journaux de la section Scheduler contient des journaux avec un message indiquant que la tâche est marquée comme UP_FOR_RETRY ou FAILED.
  • Le pod airflow-k8s-worker-*.*, dont le nom de DAG/tâche figure dans le nom du pod, présente l'état Failed/Pending, ou est absent.

Solution :

  1. Examinez les journaux du programmeur pour en savoir plus sur le problème.

Causes possibles :

  • Si les journaux du programmeur contiennent le message Adopted tasks were still pending after... suivi de l'instance de tâche imprimée, vérifiez que CeleryKubernetesExecutor est activé dans votre environnement.

L'instance de tâche passe à l'état Queued et est immédiatement marquée comme UP_FOR_RETRY ou FAILED

Symptômes :

  • Il n'existe aucun journal pour cette tâche dans l'interface utilisateur d'Airflow ni dans l'onglet Journaux de la section Nœuds de calcul.
  • Les journaux du planificateur de l'onglet Journaux de la section Scheduler contiennent le message Pod creation failed with reason ... Failing task et le message indiquant que la tâche est marquée comme UP_FOR_RETRY ou FAILED.

Solution :

  • Consultez les journaux du programmeur pour connaître la réponse exacte et le motif de l'échec.

Motif possible:

Si le message d'erreur est quantities must match the regular expression ..., le problème est très probablement causé par une valeur personnalisée définie pour les ressources k8s (requêtes/limites) des pods de nœuds de calcul des tâches.

Étapes suivantes