Como solucionar problemas de tarefas KubernetesExecutor

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Esta página descreve como solucionar problemas com tarefas executadas por KubernetesExecutor e fornece soluções para problemas comuns.

Abordagem geral para solucionar problemas do KubernetesExecutor

Para solucionar problemas com uma tarefa executada com KubernetesExecutor, faça as seguintes ações na ordem listada:

  1. Verifique os registros da tarefa na interface do DAG ou na interface do Airflow.

  2. Verifique os registros do programador no console do Google Cloud:

    1. No console do Google Cloud, acesse a página Ambientes.

      Acessar "Ambientes"

    2. Na lista de ambientes, clique no nome do ambiente. A página Detalhes do ambiente é aberta.

    3. Acesse a guia Registros e verifique a seção Registros do Airflow > Programador.

    4. Para um determinado intervalo de tempo, inspecione o pod de worker KubernetesExecutor que estava executando a tarefa. Se o pod não existir mais, pule esta etapa. O pod tem o prefixo airflow-k8s-worker e um DAG ou nome de tarefa no nome. Procure problemas relatados, como uma tarefa com falha ou não programável.

Cenários de solução de problemas comuns do KubernetesExecutor

Esta seção lista cenários de problemas comuns que você pode encontrar com o KubernetesExecutor.

A tarefa chega ao estado Running e falha durante a execução.

Sintomas:

  • Há registros para a tarefa na interface do Airflow e na guia Registros na seção Workers.

Solução: os registros de tarefas indicam o problema.

A instância de tarefa chega ao estado queued e é marcada como UP_FOR_RETRY ou FAILED depois de algum tempo.

Sintomas:

  • Não há registros para a tarefa na interface do Airflow e na guia Registros na seção Workers.
  • Há registros na guia Registros na seção Programador com uma mensagem de que a tarefa está marcada como UP_FOR_RETRY ou FAILED.
  • O pod airflow-k8s-worker-*.* com o nome do DAG/tarefa dentro do nome do pod tem o estado Failed/Pending ou está ausente.

Solução:

  1. Inspecionar os registros do programador para encontrar detalhes do problema.

Possíveis causas:

  • Se os registros do programador contiverem a mensagem Adopted tasks were still pending after... seguida pela instância de tarefa impressa, verifique se o CeleryKubernetesExecutor está ativado no ambiente.

A instância da tarefa chega ao estado Queued e é imediatamente marcada como UP_FOR_RETRY ou FAILED

Sintomas:

  • Não há registros para a tarefa na interface do Airflow e na guia Registros na seção Workers.
  • Os registros do programador na guia Registros na seção Programador têm a mensagem Pod creation failed with reason ... Failing task e a mensagem de que a tarefa está marcada como UP_FOR_RETRY ou FAILED.

Solução:

  • Verifique os registros do programador para saber a resposta exata e o motivo da falha.

Possível motivo:

Se a mensagem de erro for quantities must match the regular expression ..., é provável que o problema tenha sido causado por um valor personalizado definido para recursos do k8s (solicitações/limites) de pods de worker de tarefas.

A seguir