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. Verifica 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 verifica los registros de Airflow > Programador.

    4. Durante un intervalo de tiempo determinado, inspecciona el Pod trabajador KubernetesExecutor que se al ejecutar 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 comunes de problemas 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 Registros de la Workers.

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

La instancia de tarea obtiene el estado queued y, luego de un tiempo, se marca como UP_FOR_RETRY o FAILED.

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 obtener detalles sobre el problema.

Causas posibles:

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

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

Síntomas:

  • No hay registros para la tarea en la IU de Airflow ni en la pestaña Registros de la 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 que indica 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.

Posible motivo:

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

¿Qué sigue?