BM: Baca dalam Bahasa Melayu
World K2: Trays & Orders · Boss challenge
Lunch-rush upgrade
You will learn: to scale up, ship a new version with zero downtime, and roll back a bad image under pressure.
Checked with Kubernetes 1.37 on 31 Oct 2026
The problem
Tap each point on the timeline.
Boss mission: keep Kedai Kancil serving through the whole lunch rush. Tap through the plan.
Try it
Room 1: one tray will not survive the rush. Order 3, and wait until all 3 are ready.
kind-dev namespace defaultWant 1. See 1. All good.
dev-control-planeOpenManagerNo trays here.
dev-workerOpen- shop·cj7bx
dev-worker2OpenNo trays here.
Hint
Lesson 4:kubectl scale deployment … --replicas=….Check
Next you ship 1.30 to 3 trays. Why will no customer find the stall closed?
Pick one answer.
Try it
Room 2: ship nginx:1.30-alpine with zero downtime. Watch the board, then confirm the rollout finished.
kind-dev namespace defaultWant 3. See 3. All good.
dev-control-planeOpenManagerNo trays here.
dev-workerOpen- shop·dpztv
- shop·x88l9
dev-worker2Open- shop·lkmjj
Hint
The container is calledweb.Watch
kind-dev namespace default12:10. A teammate typed 1.300. Real error: ErrImagePull, then ImagePullBackOff. Plain words: that image does not exist. The old trays still serve.
Try it
Room 3: the typo is live. Get every tray back on a good version before customers notice.
kind-dev namespace defaultWant 3. See 4. Remove 1.
dev-control-planeOpenManagerNo trays here.
dev-workerOpen- shop·lhqgf
- shop·z9h8g
dev-worker2Open- shop·8wmp4
- shop·sfwmkPending
Hint
kubectl rollout history deployment/shop shows the revisions first, if you want to look.Check
Write the playbook for next lunch rush. Put the steps in order.
First step at the top. Put these in order. Use the arrows, or drag.
- Ship the new image with set image
- Something breaks: rollout undo
- Fix the file in Git, so the next apply is right
- Wait for rollout status to finish
- Scale up before the queue arrives
You did it!
You can now scale, update with zero downtime, and roll back under pressure.
Go deeper (optional)
After the undo, kubectl rollout history lists revisions 1, 3 and 4. Revision 2 came back as 4, because undo reuses an old template. Pipelines often run kubectl rollout status with a --timeout. If it times out, they undo by themselves.
Real rep (optional): on a throwaway cluster, replay this boss with your own shop.yaml.
Bahasa Melayu
Misi boss: pastikan Kedai Kancil terus melayan sepanjang waktu puncak. Tekan setiap langkah rancangan.
Bilik 1: satu dulang takkan tahan waktu puncak. Pesan 3, dan tunggu sehingga ketiga-tiganya sedia.
kubectl scale deployment … --replicas=….Seterusnya anda hantar 1.30 ke 3 dulang. Kenapa tiada pelanggan akan jumpa gerai tertutup?
Bilik 2: hantar nginx:1.30-alpine tanpa henti. Perhati papan, kemudian sahkan rollout sudah tamat.
web.12:10. Rakan sepasukan taip 1.300. Ralat sebenar: ErrImagePull, kemudian ImagePullBackOff. Maksudnya: image itu tak wujud. Dulang lama masih melayan.
Bilik 3: salah taip itu sudah hidup. Kembalikan setiap dulang ke versi yang baik sebelum pelanggan perasan.
kubectl rollout history deployment/shop tunjuk revision dulu, kalau anda mahu tengok.Tulis panduan untuk waktu puncak akan datang. Susun langkahnya.
Kini anda boleh skala, kemas kini tanpa henti, dan rollback dalam keadaan tertekan.
You finished this before. Practice is always welcome!
Official docs: Kubernetes: Deployments · kubectl rollout
You've learned for 25 minutes. A short break helps your brain.
Sprint done! Great focus. Stretch for a minute?