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. Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.

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

    4. Selama rentang waktu tertentu, periksa pod pekerja KubernetesExecutor yang menjalankan tugas. Jika pod sudah tidak ada, lewati langkah ini. Pod memiliki awalan airflow-k8s-worker dan DAG atau nama tugas pada 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 temui pada KubernetesExecutor.

Tugas mendapatkan status Running, lalu gagal selama eksekusi.

Gejala:

  • Log untuk tugas ini tersedia di UI Airflow dan di tab Logs di bagian Workers.

Solusi: Log tugas menunjukkan adanya masalah.

Instance tugas 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.
  • Terdapat 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 apa pun.

Penyebab yang mungkin:

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

Instance tugas mendapatkan 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 alasan:

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

Langkah selanjutnya