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 performa.

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 Airflow logs > Penjadwal.

    4. Selama rentang waktu tertentu, periksa pod pekerja KubernetesExecutor yang untuk menjalankan tugas tersebut. Jika pod sudah tidak ada, 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 temui pada KubernetesExecutor.

Tugas mendapatkan status Running, lalu gagal selama eksekusi.

Gejala:

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

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 Pekerja.
  • 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 namanya 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 Adopted tasks were still pending after... pesan diikuti dengan instance tugas cetak, memeriksa apakah CeleryKubernetesExecutor adalah 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 errornya adalah quantities must match the regular expression ..., maka masalahnya kemungkinan besar disebabkan oleh nilai kustom yang ditetapkan untuk k8s resource (permintaan/batas) dari pod pekerja tugas.

Langkah selanjutnya