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 con las tareas que ejecuta KubernetesExecutor y se proporcionan soluciones a los problemas comunes.

Enfoque general para solucionar problemas de KubernetesExecutor

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

  1. Verifica los registros de la tarea en la IU de DAG o la 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 revisa la sección Registros de Airflow > Programador.

    4. Durante un intervalo de tiempo determinado, inspecciona el Pod 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 si la tarea no es 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 sección Trabajadores.

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 sección Trabajadores.
  • 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 de DAG/tarea dentro del nombre del pod tiene un 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 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 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 sección Trabajadores.
  • 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.

Posible motivo:

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 k8s (solicitudes/límites) de los Pods trabajadores de tareas.

¿Qué sigue?