Como solucionar problemas de tarefas KubernetesExecutor

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

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

Abordagem geral para a solução de problemas do KubernetesExecutor

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

  1. Verifique os registros da tarefa na interface do DAG ou IU do Airflow (em inglês).

  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 os Registros do Airflow >. seção Programador.

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

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

Esta seção lista cenários de problemas comuns que você pode encontrar com 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 Logs no 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 Logs no 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 de 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 tiverem o Mensagem Adopted tasks were still pending after... seguida pela instância de tarefa impressa, verifique se o CeleryKubernetesExecutor está ativado em seu ambiente.

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

Sintomas:

  • Não há registros para a tarefa na interface do Airflow e na guia Logs do a seção Workers.
  • Os registros do agendador na guia Logs na seção Agendador 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 ..., o problema provavelmente será causado por valores personalizados definidos para recursos do k8s (solicitações/limites) de pods de workers de tarefas.

A seguir