BM: Baca dalam Bahasa Melayu
World K5: Lunch Rush
The debug ladder
You will learn: a calm, step-by-step way to find out why a tray is not working.
Checked with Kubernetes 1.37 on 31 Oct 2026
The problem
kind-dev namespace defaultBoth menu trays say Running. But READY says 0/1. Customers get nothing. Where do you even start?
Watch
Don’t guess. Climb the debug ladder: Climb one rung at a time: get, describe, logs, events, exec, debug., one rung at a time. Each rung shows a bit more. Put the rungs in order, from the bottom.
Bottom rung at the top. Put these in order. Use the arrows, or drag.
- exec: try it from inside the tray
- logs: what did the app print?
- events: what did Kubernetes post?
- describe: what does the tray say about itself?
- debug: bring your own toolbox
- get: what is the status?
Try it
Rung 1 said 0/1. Now rung 2: describe the menu trays. Read the Events at the bottom.
kind-dev namespace defaultmenu0/2 ready no ready trays
dev-control-planeOpenManagerNo trays here.
dev-workerOpen- menu·fkv44Running
dev-worker2Open- menu·pswnvRunning
Hint
Typekubectl describe pods -l app=menu, then read the last lines.Check
The Events said: Readiness probe failed: HTTP probe failed with statuscode: 404. What does that mean?
Pick one answer.
Watch
kind-dev namespace defaultRungs 3 and 5 agree. The logs show the probe asking for /ready. From inside, /ready gives 404 too. The app only serves /.
Try it
menu-fixed.yaml probes / instead. Apply it. Wait until both trays are ready.
kind-dev namespace defaultmenu0/2 ready no ready trays
dev-control-planeOpenManagerNo trays here.
dev-workerOpen- menu·fkv44Running
dev-worker2Open- menu·pswnvRunning
Hint
Typekubectl apply -f menu-fixed.yaml, then let the clock run.Watch
Top rung: some images have no shell and no tools. kubectl debug adds a temporary toolbox container to the tray. Build the command.
Tap the pieces in the right order.
You did it!
You can now climb the debug ladder instead of guessing.
Go deeper (optional)
kubectl debug node/dev-worker -it --image=busybox:1.37 opens a toolbox on a stall itself. A debug container stays until the pod is deleted. Stuck on one problem? The Ship It Rescue Center has step-by-step flows.
Real rep (optional): break a probe on a kind cluster, then climb the ladder.
Bahasa Melayu
Kedua-dua pod (dulang) menu kata Running. Tapi READY kata 0/1. Pelanggan tak dapat apa-apa. Nak mula dari mana?
Jangan teka. Panjat tangga nyahpepijat, satu anak tangga setiap kali. Setiap anak tangga tunjuk lebih sedikit. Susun anak tangga, dari bawah.
Anak tangga 1 kata 0/1. Sekarang anak tangga 2: describe pod menu. Baca Events di bahagian bawah.
kubectl describe pods -l app=menu, kemudian baca baris terakhir.Events kata: Readiness probe failed: HTTP probe failed with statuscode: 404. Apa maksudnya?
Anak tangga 3 dan 5 setuju. Log tunjuk probe minta /ready. Dari dalam, /ready pun beri 404. Aplikasi cuma layan /.
menu-fixed.yaml semak / pula. Apply fail itu. Tunggu sehingga kedua-dua pod sedia.
kubectl apply -f menu-fixed.yaml, kemudian biar jam berjalan.Anak tangga teratas: sesetengah image tiada shell dan tiada alat. kubectl debug tambah container kotak alat sementara ke dalam pod. Bina arahannya.
Kini anda boleh panjat tangga nyahpepijat, bukan meneka.
You finished this before. Practice is always welcome!
Official docs: Kubernetes: debug pods · Kubernetes: debug running pods · kubectl debug
You've learned for 25 minutes. A short break helps your brain.
Sprint done! Great focus. Stretch for a minute?