Peta dunia

 

EN: Read in English

Dunia K2: Dulang & Pesanan · Cabaran bos

Naik taraf waktu puncak

Anda akan belajar: skala naik, hantar versi baharu tanpa henti, dan rollback image rosak dalam keadaan tertekan.

Teks BM belum disemak oleh penutur asli.

Disemak dengan Kubernetes 1.37 pada 31 Okt 2026

Masalahnya

Ketik setiap titik pada garis masa.

Misi boss: pastikan Kedai Kancil terus melayan sepanjang waktu puncak. Tekan setiap langkah rancangan.

Cuba

Bilik 1: satu dulang takkan tahan waktu puncak. Pesan 3, dan tunggu sehingga ketiga-tiganya sedia.

Anda di sini: kluster kind-dev namespace default

Mahu 1. Nampak 1. Semua okey.

Mahu1tertulis pada pesanan shop
Nampak11 sedia
Buat Semua okeyKekurangan dibaiki: 0
Gerai: 3. Dulang: 1 (1 sedia). Menunggu gerai: 0.
dev-control-planeBukaPengurus

Tiada dulang di sini.

dev-workerBuka
  • shop·cj7bx
dev-worker2Buka

Tiada dulang di sini.

Masa: +0s (dipercepat)

Semak

Seterusnya anda hantar 1.30 ke 3 dulang. Kenapa tiada pelanggan akan jumpa gerai tertutup?

Pilih satu jawapan.

Cuba

Bilik 2: hantar nginx:1.30-alpine tanpa henti. Perhati papan, kemudian sahkan rollout sudah tamat.

Anda di sini: kluster kind-dev namespace default

Mahu 3. Nampak 3. Semua okey.

Mahu3tertulis pada pesanan shop
Nampak33 sedia
Buat Semua okeyKekurangan dibaiki: 0
Gerai: 3. Dulang: 3 (3 sedia). Menunggu gerai: 0.
dev-control-planeBukaPengurus

Tiada dulang di sini.

dev-workerBuka
  • shop·dpztv
  • shop·x88l9
dev-worker2Buka
  • shop·lkmjj
Masa: +0s (dipercepat)

Tengok

Anda di sini: kluster kind-dev namespace default
Tag 1.300-alpine tak wujud. Satu pod baharu tersangkut cuba mengambilnya. 3 pod 1.30 terus berjalan: READY 3/3, UP-TO-DATE 1. Output terminal: $ kubectl set image deployment/shop web=nginx:1.300-alpine deployment.apps/shop image updated $ sleep 20 $ kubectl get pods NAME READY STATUS RESTARTS AGE shop-7786946f68-8wmp4 1/1 Running 0 62s shop-7786946f68-lhqgf 1/1 Running 0 42s shop-7786946f68-z9h8g 1/1 Running 0 52s shop-79c8c785d8-sfwmk 0/1 ImagePullBackOff 0 20s $ kubectl get deployment shop NAME READY UP-TO-DATE AVAILABLE AGE shop 3/3 1 3 84s

12:10. Rakan sepasukan taip 1.300. Ralat sebenar: ErrImagePull, kemudian ImagePullBackOff. Maksudnya: image itu tak wujud. Dulang lama masih melayan.

Cuba

Bilik 3: salah taip itu sudah hidup. Kembalikan setiap dulang ke versi yang baik sebelum pelanggan perasan.

Anda di sini: kluster kind-dev namespace default

Mahu 3. Nampak 4. Buang 1.

Mahu3tertulis pada pesanan shop
Nampak43 sedia
Buat Buang 1Kekurangan dibaiki: 0
Gerai: 3. Dulang: 4 (3 sedia). Menunggu gerai: 0.
dev-control-planeBukaPengurus

Tiada dulang di sini.

dev-workerBuka
  • shop·lhqgf
  • shop·z9h8g
dev-worker2Buka
  • shop·8wmp4
  • shop·sfwmkPending
Masa: +0s (dipercepat)

Semak

Tulis panduan untuk waktu puncak akan datang. Susun langkahnya.

Langkah pertama di atas. Susun ikut turutan. Guna anak panah, atau seret.

  • Skala naik sebelum barisan sampai
  • Baiki fail dalam Git, supaya apply seterusnya betul
  • Tunggu rollout status tamat
  • Ada yang rosak: rollout undo
  • Hantar image baharu dengan set image

Anda berjaya!

Kini anda boleh skala, kemas kini tanpa henti, dan rollback dalam keadaan tertekan.

Nak tahu lebih (pilihan)

Selepas undur, kubectl rollout history senaraikan revision 1, 3 dan 4. Revision 2 kembali sebagai 4, sebab undo guna semula templat lama. Pipeline selalu jalankan kubectl rollout status dengan --timeout. Kalau tamat masa, ia undur sendiri.

Latihan sebenar (pilihan): dalam kluster yang boleh dibuang, ulang boss ini dengan shop.yaml anda sendiri.