Memecahkan masalah tugas KubernetesExecutor

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Halaman ini menjelaskan cara memecahkan masalah terkait tugas yang dijalankan oleh KubernetesExecutor dan memberikan solusi untuk masalah umum.

Pendekatan umum untuk memecahkan masalah KubernetesExecutor

Untuk memecahkan masalah terkait tugas yang dijalankan dengan KubernetesExecutor, lakukan tindakan berikut dalam urutan yang tercantum:

  1. Periksa log tugas di UI DAG atau UI Airflow.

  2. Periksa log penjadwal di konsol Google Cloud:

    1. Di konsol Google Cloud, buka halaman Environments.

      Buka Lingkungan

    2. Di daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.

    3. Buka tab Logs dan periksa bagian Airflow logs > Scheduler.

    4. Untuk rentang waktu tertentu, periksa pod pekerja KubernetesExecutor yang menjalankan tugas. Jika pod tidak ada lagi, lewati langkah ini. Pod memiliki awalan airflow-k8s-worker dan DAG atau nama tugas dalam namanya. Cari masalah yang dilaporkan seperti tugas yang gagal atau tugas yang tidak dapat dijadwalkan.

Skenario pemecahan masalah umum untuk KubernetesExecutor

Bagian ini mencantumkan skenario pemecahan masalah umum yang mungkin Anda alami dengan KubernetesExecutor.

Tugas mencapai status Running, lalu gagal selama eksekusi.

Gejala:

  • Ada log untuk tugas di UI Airflow dan di tab Logs di bagian Workers.

Solusi: Log tugas menunjukkan masalahnya.

Instance tugas akan mencapai status queued, lalu ditandai sebagai UP_FOR_RETRY atau FAILED setelah beberapa waktu.

Gejala:

  • Tidak ada log untuk tugas di UI Airflow dan di tab Logs di bagian Workers.
  • Ada log di tab Logs di bagian Scheduler dengan pesan bahwa tugas ditandai sebagai UP_FOR_RETRY atau FAILED.
  • Pod airflow-k8s-worker-*.* dengan nama DAG/tugas di dalam nama pod memiliki status Failed/Pending atau tidak ada.

Solusi:

  1. Periksa log penjadwal untuk mengetahui detail masalah.

Penyebab yang mungkin:

  • Jika log penjadwal berisi pesan Adopted tasks were still pending after..., diikuti dengan instance tugas yang dicetak, pastikan CeleryKubernetesExecutor diaktifkan di lingkungan Anda.

Instance tugas mencapai status Queued dan langsung ditandai sebagai UP_FOR_RETRY atau FAILED

Gejala:

  • Tidak ada log untuk tugas di UI Airflow dan di tab Logs di bagian Workers.
  • Log penjadwal di tab Logs di bagian Scheduler memiliki pesan Pod creation failed with reason ... Failing task, dan pesan bahwa tugas ditandai sebagai UP_FOR_RETRY atau FAILED.

Solusi:

  • Periksa log penjadwal untuk mengetahui respons dan alasan kegagalan yang tepat.

Kemungkinan penyebab:

Jika pesan errornya adalah quantities must match the regular expression ..., kemungkinan besar masalahnya disebabkan oleh nilai kustom yang ditetapkan untuk resource k8s (permintaan/batas) pod pekerja tugas.

Langkah selanjutnya