EN: Read in English
Dunia K5: Waktu Puncak
Tangga nyahpepijat
Anda akan belajar: cara tenang, langkah demi langkah, untuk cari kenapa pod tak berfungsi.
Teks BM belum disemak oleh penutur asli.
Disemak dengan Kubernetes 1.37 pada 31 Okt 2026
Masalahnya
kind-dev namespace defaultKedua-dua pod (dulang) menu kata Running. Tapi READY kata 0/1. Pelanggan tak dapat apa-apa. Nak mula dari mana?
Tengok
Jangan teka. Panjat tangga nyahpepijat (debug ladder): Naik satu anak tangga setiap kali: get, describe, logs, events, exec, debug., satu anak tangga setiap kali. Setiap anak tangga tunjuk lebih sedikit. Susun anak tangga, dari bawah.
Anak tangga paling bawah di atas. Susun ikut turutan. Guna anak panah, atau seret.
- describe: apa pod itu kata tentang dirinya?
- debug: bawa kotak alat sendiri
- get: apa statusnya?
- logs: apa yang aplikasi cetak?
- exec: cuba dari dalam pod
- events: apa yang Kubernetes tampal?
Cuba
Anak tangga 1 kata 0/1. Sekarang anak tangga 2: describe pod menu. Baca Events di bahagian bawah.
kind-dev namespace defaultmenu0/2 sedia tiada dulang sedia
dev-control-planeBukaPengurusTiada dulang di sini.
dev-workerBuka- menu·fkv44Running
dev-worker2Buka- menu·pswnvRunning
Petunjuk
Taipkubectl describe pods -l app=menu, kemudian baca baris terakhir.Semak
Events kata: Readiness probe failed: HTTP probe failed with statuscode: 404. Apa maksudnya?
Pilih satu jawapan.
Tengok
kind-dev namespace defaultAnak tangga 3 dan 5 setuju. Log tunjuk probe minta /ready. Dari dalam, /ready pun beri 404. Aplikasi cuma layan /.
Cuba
menu-fixed.yaml semak / pula. Apply fail itu. Tunggu sehingga kedua-dua pod sedia.
kind-dev namespace defaultmenu0/2 sedia tiada dulang sedia
dev-control-planeBukaPengurusTiada dulang di sini.
dev-workerBuka- menu·fkv44Running
dev-worker2Buka- menu·pswnvRunning
Petunjuk
Taipkubectl apply -f menu-fixed.yaml, kemudian biar jam berjalan.Tengok
Anak tangga teratas: sesetengah image tiada shell dan tiada alat. kubectl debug tambah container kotak alat sementara ke dalam pod. Bina arahannya.
Ketik kepingan ikut turutan yang betul.
Anda berjaya!
Kini anda boleh panjat tangga nyahpepijat, bukan meneka.
Nak tahu lebih (pilihan)
kubectl debug node/dev-worker -it --image=busybox:1.37 buka kotak alat pada gerai itu sendiri. Container debug kekal sehingga pod dipadam. Tersekat pada satu masalah? Pusat Bantuan Ship It ada aliran langkah demi langkah.
Latihan sebenar (pilihan): rosakkan probe pada kluster kind, kemudian panjat tangga itu.
English
Both menu trays say Running. But READY says 0/1. Customers get nothing. Where do you even start?
Don’t guess. Climb the debug ladder, one rung at a time. Each rung shows a bit more. Put the rungs in order, from the bottom.
Rung 1 said 0/1. Now rung 2: describe the menu trays. Read the Events at the bottom.
kubectl describe pods -l app=menu, then read the last lines.The Events said: Readiness probe failed: HTTP probe failed with statuscode: 404. What does that mean?
Rungs 3 and 5 agree. The logs show the probe asking for /ready. From inside, /ready gives 404 too. The app only serves /.
menu-fixed.yaml probes / instead. Apply it. Wait until both trays are ready.
kubectl apply -f menu-fixed.yaml, then let the clock run.Top rung: some images have no shell and no tools. kubectl debug adds a temporary toolbox container to the tray. Build the command.
You can now climb the debug ladder instead of guessing.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: Kubernetes: debug pods · Kubernetes: debug running pods · kubectl debug
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?