Résoudre les problèmes liés aux tâches KubernetesExecutor

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

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

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, procédez comme suit : les actions suivantes dans l'ordre indiqué:

  1. Vérifiez les journaux de la tâche dans l'interface utilisateur du DAG ou dans l'interface utilisateur d'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, puis vérifiez la section Journaux Airflow > Planificateur.

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

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 sont disponibles pour la tâche dans l'UI d'Airflow et dans l'onglet Logs (Journaux) de la section Workers (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 :

  • Aucun journal de tâche n'est disponible dans l'UI d'Airflow ni dans l'onglet Journals de la section Nœuds de calcul.
  • L'onglet Journaux de la section Scheduler contient des journaux avec une un message indiquant que la tâche est marquée comme UP_FOR_RETRY ou FAILED.
  • Le pod airflow-k8s-worker-*.* avec le nom du DAG/de la tâche dans le nom du pod a l'état Failed/Pending ou est absent.

Solution :

  1. Examinez les journaux du planificateur pour obtenir des informations détaillées sur le problème.

Causes possibles :

  • Si les journaux du planificateur 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 atteint l'état Queued et est immédiatement marquée comme UP_FOR_RETRY ou FAILED.

Symptômes :

  • Il n'existe aucun journal pour la tâche dans l'interface utilisateur d'Airflow ni dans l'onglet Journaux de la section Workers.
  • Les journaux du planificateur dans l'onglet Journaux de la section Planificateur 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 planificateur pour obtenir la réponse exacte et la raison de l'échec.

Cause possible :

Si le message d'erreur est quantities must match the regular expression ..., le problème est probablement dû à un ensemble de valeurs personnalisées défini pour k8s (requêtes/limites) des pods de nœuds de calcul de tâches.

Étape suivante