Soluciona problemas de tareas de KubernetesExecutor

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

En esta página, se describe cómo solucionar problemas que ejecuta KubernetesExecutor y proporciona soluciones para problemas problemas.

Enfoque general para solucionar problemas de KubernetesExecutor

Para solucionar problemas con una tarea ejecutada con KubernetesExecutor, las siguientes acciones en el orden indicado:

  1. Verifica los registros de la tarea en la IU de DAG o IU de Airflow.

  2. Revisa los registros del programador en la consola de Google Cloud:

    1. En la consola de Google Cloud, ve a la página Entornos.

      Ir a Entornos

    2. En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del entorno.

    3. Ve a la pestaña Registros y revisa la sección Registros de Airflow > Programador.

    4. Para un período determinado, inspecciona el pod de trabajador KubernetesExecutor que ejecutaba la tarea. Si el Pod ya no existe, omite este paso. El pod tiene el prefijo airflow-k8s-worker y un DAG o un nombre de tarea en su nombre. Busca cualquier problema informado, como una tarea con errores o la tarea que no programable.

Situaciones de solución de problemas comunes para KubernetesExecutor

En esta sección, se enumeran situaciones problemáticas comunes que puedes encontrar con KubernetesExecutor.

La tarea pasa al estado Running y, luego, falla durante la ejecución.

Síntomas:

  • Hay registros de la tarea en la IU de Airflow y en la pestaña Logs de la sección Workers.

Solución: Los registros de tareas indican el problema.

La instancia de la tarea llega al estado queued y, luego, se marca como UP_FOR_RETRY o FAILED después de un tiempo.

Síntomas:

  • No hay registros para la tarea en la IU de Airflow ni en la pestaña Registros de la Workers.
  • Hay registros en la pestaña Registros de la sección Programador con un mensaje que indica que la tarea está marcada como UP_FOR_RETRY o FAILED.
  • El Pod airflow-k8s-worker-*.* con el nombre del DAG/tarea dentro del nombre del grupo tiene el estado Failed/Pending, o está ausente.

Solución:

  1. Inspecciona los registros del programador para ver si hay detalles del problema.

Causas posibles:

  • Si los registros del programador contienen el mensaje Adopted tasks were still pending after... seguido de la instancia de tarea impresa, verifica que CeleryKubernetesExecutor esté habilitado en tu entorno.

La instancia de la tarea llega al estado Queued y se marca de inmediato como UP_FOR_RETRY o FAILED.

Síntomas:

  • No hay registros de la tarea en la IU de Airflow ni en la pestaña Logs de la sección Workers.
  • Los registros del programador en la pestaña Registros de la sección Programador tienen el mensaje Pod creation failed with reason ... Failing task y el mensaje de que la tarea está marcada como UP_FOR_RETRY o FAILED.

Solución:

  • Verifica los registros del programador para conocer el motivo exacto de la respuesta y del error.

Motivo posible:

Si el mensaje de error es quantities must match the regular expression ..., es probable que el problema se deba a valores personalizados establecidos para los recursos de k8s (solicitudes o límites) de los pods de trabajadores de tareas.

¿Qué sigue?