All Products
Search
Document Center

Container Compute Service:Troubleshoot masalah pod

Last Updated:Mar 01, 2026

Jika pod gagal memulai, crash berulang kali, atau berperilaku tidak sesuai harapan, gunakan panduan ini untuk mengidentifikasi akar penyebab dan menyelesaikan masalah tersebut.

Alur kerja diagnostik

Diagnostic workflow

  1. Periksa status pod. Jika statusnya bukan Running, lihat Referensi status pod untuk solusi yang ditargetkan.

  2. Jika pod berstatus Running tetapi tidak berperilaku seperti yang diharapkan, lihat Running tetapi tidak berfungsi sebagaimana mestinya.

  3. Jika pod dihentikan karena error out-of-memory (OOM), lihat Troubleshoot error OOM.

  4. Jika masalah tetap berlanjut setelah troubleshooting, submit a ticket.

Referensi status pod

Status

Makna

Solusi

Pending

Belum dijadwalkan ke node

Pod terjebak dalam status Pending

Init:N/M

N dari M init container telah dimulai

Pod terjebak dalam status init container

Init:Error

Init container gagal

Pod terjebak dalam status init container

Init:CrashLoopBackOff

Init container mengalami crash loop

Pod terjebak dalam status init container

ImagePullBackOff

Gagal menarik gambar kontainer

Pod terjebak dalam ImagePullBackOff

CrashLoopBackOff

Aplikasi crash berulang kali

Pod terjebak dalam CrashLoopBackOff

Completed

Semua kontainer keluar setelah menyelesaikan perintah startup

Pod terjebak di status Completed

Running

Pod berfungsi sebagaimana mestinya, atau sedang berjalan tetapi tidak berfungsi sebagaimana mestinya

Running tetapi tidak berfungsi sebagaimana mestinya

Terminating

Sedang dihapus

Pod terjebak dalam Terminating

Alat diagnostik

Semua alat diagnostik tersedia di Konsol ACS. Mulailah dengan menavigasi ke pod:

  1. Login ke Konsol ACS. Di panel navigasi kiri, klik Clusters.

  2. Pada halaman Clusters, klik nama kluster target. Di panel navigasi kiri, pilih Workloads > Pods.

  3. Di pojok kiri atas halaman Pods, pilih namespace tempat pod tersebut berada. Temukan pod dalam daftar.

Kemudian gunakan salah satu alat berikut:

Lihat detail pod

Klik nama pod atau klik View Details di kolom Actions untuk melihat informasi seperti nama pod, image, dan alamat IP.

Lihat konfigurasi pod (YAML)

Buka halaman detail pod dan klik Edit di pojok kanan atas untuk melihat file YAML dan konfigurasi pod.

Lihat event pod

Buka halaman detail pod dan klik tab Events di bagian bawah.

Catatan

Kubernetes menyimpan event dari satu jam sebelumnya secara default. Untuk menyimpan event lebih lama, buat dan gunakan Event Center.

Lihat log pod

Buka halaman detail pod dan klik tab Logs di bagian bawah.

Catatan

Alibaba Cloud Container Compute Service (ACS) terintegrasi dengan Simple Log Service. Aktifkan Simple Log Service saat membuat kluster untuk mengumpulkan data log dari standard output dan file teks. Untuk informasi selengkapnya, lihat Kumpulkan log aplikasi menggunakan variabel lingkungan pod.

Lihat pemantauan pod

  1. Login ke Konsol ACS. Di panel navigasi kiri, klik Clusters.

  2. Pada halaman Prometheus Monitoring, klik tab Cluster Overview untuk melihat penggunaan CPU, penggunaan memori, dan I/O jaringan untuk pod.

Hubungkan ke terminal kontainer

  1. Login ke Konsol ACS. Di panel navigasi kiri, klik Clusters.

Jalankan diagnostik pod

  1. Pada halaman Pods, temukan pod tersebut dan klik Diagnose di kolom Actions. Tinjau hasil diagnostik setelah proses selesai. Untuk informasi selengkapnya, lihat Bekerja dengan diagnostik kluster.

Pod terjebak dalam Pending

Pod dengan status Pending belum dijadwalkan ke node mana pun. Hal ini biasanya terjadi ketika sumber daya yang diperlukan tidak tersedia atau konfigurasi kuota tidak valid.

Diagnosis masalah:

Periksa event pod untuk mengidentifikasi alasan kegagalan penjadwalan. Penyebab umum meliputi:

  • Ketergantungan sumber daya yang tidak tersedia: Beberapa pod bergantung pada sumber daya kluster tertentu seperti ConfigMap atau persistent volume claim (PVC). Misalnya, PVC harus diikat ke persistent volume (PV) sebelum dapat digunakan dalam spesifikasi pod.

  • Konfigurasi kuota tidak valid: Permintaan sumber daya pod mungkin melebihi kuota yang tersedia. Periksa event pod dan log audit untuk detailnya.

Pod terjebak dalam status init container

Status-status ini menunjukkan bahwa satu atau beberapa init container gagal menyelesaikan prosesnya:

  • Init:N/M — Pod memiliki M init container, N telah dimulai, dan M-N gagal.

  • Init:Error — Init container keluar dengan error.

  • Init:CrashLoopBackOff — Init container terus-menerus crash dan restart.

Diagnosis masalah:

  1. Periksa event pod untuk mencari error pada init container yang gagal. Lihat Lihat event pod.

  2. Periksa log init container yang gagal untuk detail error. Lihat Lihat log pod.

  3. Verifikasi bahwa konfigurasi init container benar dalam file YAML pod. Lihat Lihat konfigurasi pod (YAML). Untuk informasi selengkapnya tentang debugging init container, lihat Debug init containers.

Pod terjebak dalam ImagePullBackOff

Pod telah dijadwalkan tetapi tidak dapat menarik satu atau beberapa gambar kontainer. Periksa event pod untuk mengidentifikasi gambar mana yang gagal.

Diagnosis masalah:

  1. Verifikasi nama dan tag gambar. Kesalahan pengetikan pada nama atau tag gambar merupakan penyebab paling umum.

  2. Jika gambar disimpan di repositori pribadi, pastikan rahasia pull image yang benar telah dikonfigurasi. Lihat Gunakan gambar yang disimpan di repository image untuk membuat workload ACS.

Pod terjebak dalam CrashLoopBackOff

Aplikasi di dalam pod mengalami crash. Kubernetes akan merestartnya secara otomatis, tetapi crash tersebut terus berulang.

Diagnosis masalah:

  1. Periksa event pod untuk pesan error. Lihat Lihat event pod.

  2. Periksa log pod untuk error aplikasi. Lihat Lihat log pod.

  3. Tinjau konfigurasi pemeriksaan kesehatan. Probe liveness, readiness, atau startup yang salah konfigurasi dapat menyebabkan Kubernetes menghentikan kontainer yang sebenarnya sehat. Lihat Lihat konfigurasi pod (YAML). Untuk informasi selengkapnya tentang konfigurasi probe, lihat Configure Liveness, Readiness and Startup Probes.

Pod terjebak dalam Completed

Semua kontainer dalam pod telah menyelesaikan perintah startup dan keluar. Ini merupakan perilaku yang diharapkan untuk pekerjaan batch, tetapi tidak untuk layanan yang berjalan lama.

Diagnosis masalah:

  1. Periksa perintah startup dalam konfigurasi pod. Kontainer mungkin telah menyelesaikan perintah yang dimaksudkan tanpa error. Lihat Lihat konfigurasi pod (YAML).

  2. Periksa log pod untuk konteks tambahan. Lihat Lihat log pod.

Pod berstatus Running tetapi tidak berfungsi sebagaimana mestinya

Pod menunjukkan status Running tetapi aplikasi tidak berfungsi dengan benar. Hal ini sering disebabkan oleh kesalahan dalam file YAML pod.

Diagnosis masalah:

  1. Bandingkan konfigurasi pod dengan ekspektasi Anda. Lihat Lihat konfigurasi pod (YAML).

  2. Periksa kesalahan pengetikan pada kunci variabel lingkungan. Kubernetes diam-diam mengabaikan nama field yang salah eja — pod berhasil dimulai, tetapi konfigurasi yang dimaksudkan tidak diterapkan.

    Untuk mendeteksi kesalahan pengetikan pada level field, jalankan perintah berikut sebelum melakukan deployment:

    Catatan

    Kubernetes diam-diam mengabaikan nama field yang salah eja — pod berhasil dimulai, tetapi konfigurasi yang dimaksudkan tidak diterapkan.

    1. Jalankan perintah berikut:

         kubectl apply --validate -f <your-file>.yaml

      Jika nama field salah eja (misalnya, commnd alih-alih command), output akan menampilkan peringatan:

         [<path>] unknown field: commnd
    2. Atau, ekspor file YAML pod yang sedang berjalan dan bandingkan dengan file aslinya:

         kubectl get pods <pod-name> -o yaml > pod.yaml

      Jika file YAML yang diekspor tidak memiliki field yang ada di file asli, kemungkinan besar file asli mengandung kunci yang salah eja.

  3. Periksa log pod untuk error runtime. Lihat Lihat log pod.

  4. Hubungkan ke terminal kontainer untuk memeriksa file lokal dan status aplikasi. Lihat Hubungkan ke terminal kontainer.

Pod terjebak dalam Terminating

Pod dengan status Terminating sedang dihapus tetapi belum sepenuhnya berhenti. Pod dalam status ini biasanya akan terselesaikan sendiri setelah periode tenggang berakhir.

Jika pod tetap berada dalam status Terminating dalam waktu lama, hapus secara paksa:

kubectl delete pod <pod-name> -n <namespace> --grace-period=0 --force

Troubleshoot error OOM

Ketika penggunaan memori kontainer melebihi batas memori yang dikonfigurasi, kernel akan menghentikan kontainer tersebut dengan pembunuhan out-of-memory (OOM). Kontainer yang dihentikan tersebut mungkin akan restart secara otomatis.

Gejala:

  • Kontainer restart secara tak terduga.

  • Tab Events pada halaman detail pod menampilkan event: pod was OOM killed.

Diagnosis masalah:

  1. Periksa graf penggunaan memori untuk mengidentifikasi kapan lonjakan terjadi. Lihat Lihat pemantauan pod.

  2. Tentukan apakah penggunaan memori tinggi disebabkan oleh memory leak atau permintaan beban kerja yang sah:

    • Memory leak: Selidiki kode aplikasi berdasarkan waktu terjadinya lonjakan memori, entri log, dan nama proses.

    • Pertumbuhan memori normal: Tingkatkan batas memori pod. Atur batas tersebut sehingga penggunaan memori aktual tetap di bawah 80% dari batas yang dikonfigurasi. Untuk detailnya, lihat Kelola pod.

Untuk informasi latar belakang lebih lanjut, lihat Assign Memory Resources to Containers and Pods.