EN: Read in English
Dunia K2: Dulang & Pesanan
Blue/green dan canary dengan Deployment
Anda akan belajar: blue/green dengan tukar selector Service, dan canary dengan bilangan replika.
Teks BM belum disemak oleh penutur asli.
Disemak dengan Kubernetes 1.37 pada 31 Okt 2026
Masalahnya
Menu versi 2 sudah siap. Anda mahu ia hidup dalam satu saat. Kalau rosak, hilang dalam satu saat. Dengan objek Kubernetes biasa, bagaimana?
Pilih satu jawapan.
Tengok
kind-dev namespace defaultblue/green (blue/green deployment): Dua dapur penuh. Uji yang baharu, kemudian tukar papan tanda supaya semua ke sana. Tukar balik untuk undur.: dua Deployment penuh berjalan sebelah-menyebelah. Selector Service tulis version=blue, jadi hanya dulang blue dapat pelanggan.
Cuba
Giliran anda. service-green.yaml ialah nombor pesanan yang sama, tapi tuju ke green. Apply fail itu. Kemudian tanya kedai sekali lagi dari client.
kind-dev namespace defaultshop2/2 sedia
dev-control-planeBukaPengurusTiada dulang di sini.
dev-workerBuka- client
- shop·gl7xh
- shop·68n9z
dev-worker2Buka- shop·kw9rw
- shop·nhlrr
Petunjuk
kubectl apply -f service-green.yaml, kemudian kubectl exec client -- wget -qO- -T 5 http://shop.Teka
Green ada bug. Secepat mana anda boleh kembali ke blue?
Pilih satu jawapan.
Tengok
kind-dev namespace defaultcanary (canary release): Sedikit pengguna dapat versi baharu dulu, macam beberapa pelanggan rasa hidangan baharu. Okey? Hidang kepada lebih ramai.: Deployment kedua dengan label app: shop yang sama, tapi hanya 1 dulang. Service pilih keempat-empatnya, jadi lebih kurang 1 daripada 4 pelanggan rasa versi 2.
Cuba
Trafik sebenar, ralat sebenar. Alihkan pelanggan ke versi 2 langkah demi langkah. Rollback sebelum 150 orang kena bug.
Hantar sedikit pengguna ke v2. Tengok graf. Roll back jika ralat melonjak.
Pengguna sekarang: 100% di v1 (lama), 0% di v2 (baharu).
v1 (lama) v2 (baharu)
Minit 0
Pengguna yang kena ralat v2: 0 (had 150)
Nombor, minit demi minit
Belum ada trafik.
Petunjuk
Garis versi 2 melonjak atas garis amaran? Tekan Roll back.Semak
Blue/green atau canary? Susun setiap fakta.
Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.
Anda berjaya!
Kini anda boleh jalankan keluaran blue/green dan canary dengan Deployment biasa.
Nak tahu lebih (pilihan)
Di mana cerita ini tak tepat: dulang sebenar ialah program yang berjalan. Gerai ialah sebuah komputer penuh. Canary ikut replika juga kasar: 1 daripada 4 ialah 25%, bukan 5%. Untuk bahagian tepat, guna berat Gateway API (Dunia K3) atau Argo Rollouts (Dunia K7).
Latihan sebenar (pilihan): dalam kluster yang boleh dibuang, tukar selector Service, kemudian tukar balik.
English
Menu version 2 is ready. You want it live in one second. If it is bad, gone in one second. With plain Kubernetes objects, how?
Blue/green: two full Deployments run side by side. The Service selector says version=blue, so only blue trays get customers.
Your turn. service-green.yaml is the same order number, pointing at green. Apply it. Then ask the shop again from client.
kubectl apply -f service-green.yaml, then kubectl exec client -- wget -qO- -T 5 http://shop.Green has a bug. How fast can you go back to blue?
Canary: a second Deployment with the same app: shop label, but only 1 tray. The Service picks all 4, so about 1 in 4 customers tastes version 2.
Real traffic, real errors. Move customers to version 2 step by step. Roll back before 150 of them hit the bug.
Blue/green or canary? Sort each fact.
You can now run blue/green and canary releases with plain Deployments.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: Kubernetes: Canary deployments (Managing Workloads) · Kubernetes: Service selectors
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?