Strategi Deployment: Blue-Green dan Canary
Jangan berhenti pada pembaruan bergulir; pelajari cara merilis dengan aman menggunakan pola deployment blue-green dan canary di Kubernetes.
Strategi Deployment: Blue-Green dan Canary adalah pelajaran Kubernetes Basics gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Kubernetes Basics, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Kubernetes Basics mencakup 4 pelajaran total.
Mengapa Tidak Hanya Pembaruan Bergulir?
Pembaruan bergulir mengganti Pod secara bertahap, tetapi mencampur versi lama dan baru selama peralihan. Untuk rilis yang berisiko, Anda mungkin ingin mengendalikan sepenuhnya pengguna mana yang melihat versi baru.
Strategi biru-hijau dan kanari memberi Anda kendali tersebut.
Gagasan Biru-Hijau
Dalam penerapan biru-hijau, Anda menjalankan dua lingkungan yang identik:
- Biru = versi yang sedang aktif
- Hijau = versi baru, sudah diterapkan sepenuhnya tetapi belum menerima lalu lintas
Anda mengalihkan lalu lintas dari biru ke hijau sekaligus.
Dua Penerapan, Satu Layanan
Setiap versi memiliki Penerapan sendiri dengan label versi. Satu Layanan memilih warna yang sedang aktif.
apiVersion: apps/v1
kind: Deployment
metadata:
name: app-blue
spec:
replicas: 3
selector:
matchLabels:
app: web
version: blue
template:
metadata:
labels:
app: web
version: blue
spec:
containers:
- name: web
image: myapp:1.0Mengalihkan Lalu Lintas
Untuk mengaktifkan versi hijau, Anda cukup mengubah selektor Layanan agar menunjuk ke versi hijau. Peralihannya berlangsung seketika.
kubectl patch service web -p '{"spec":{"selector":{"app":"web","version":"green"}}}'Kelebihan dan Kekurangan Biru-Hijau
- Kelebihan: pemulihan seketika dengan beralih kembali ke biru
- Kelebihan: tidak ada pencampuran versi selama rilis
- Kekurangan: memerlukan sumber daya dua kali lipat selama masa tumpang tindih
Gagasan Kanari
Rilis kanari mengirimkan sebagian kecil lalu lintas ke versi baru terlebih dahulu. Jika metrik terlihat sehat, Anda meningkatkan skalanya secara bertahap.
Nama ini berasal dari burung kenari yang digunakan para penambang untuk mendeteksi bahaya lebih awal.
Kanari dengan Jumlah Replika
Kanari sederhana menggunakan dua Penerapan yang berbagi label Layanan yang sama. Lalu lintas terbagi kira-kira sesuai rasio replika.
# stable: 9 replicas, canary: 1 replica => ~10% to canary
kubectl scale deployment app-stable --replicas=9
kubectl scale deployment app-canary --replicas=1Meningkatkan Porsi Kanari
Saat keyakinan Anda meningkat, geser rasionya ke arah kanari, lalu hentikan versi lama setelah versi tersebut menangani seluruh lalu lintas.
kubectl scale deployment app-canary --replicas=5
kubectl scale deployment app-stable --replicas=5
# later, fully promote
kubectl scale deployment app-canary --replicas=10
kubectl scale deployment app-stable --replicas=0Mengamati Kanari
Tujuan utama kanari adalah pengamatan. Pantau tingkat kesalahan, latensi, dan log sebelum meningkatkan porsinya.
kubectl get pods -l version=canary
kubectl logs -l version=canary --tail=50Memilih Strategi
- Biru-hijau: paling tepat jika Anda menginginkan peralihan yang bersih dan seketika serta pemulihan cepat
- Kanari: paling tepat jika Anda ingin membatasi dampak kegagalan dan memvalidasi dengan lalu lintas nyata
- Bergulir: pilihan bawaan yang baik untuk pembaruan rutin berisiko rendah
Alat di Luar kubectl
Untuk pembagian lalu lintas yang sangat terperinci (misalnya tepat 5%), tim menggunakan mesh layanan seperti Istio atau alat pengiriman bertahap seperti Argo Rollouts dan Flagger, yang mengotomatiskan analisis kanari.
Pemeriksaan Singkat
Pilih pernyataan yang paling tepat menggambarkan rilis kanari.
Rangkuman
Anda telah membandingkan strategi rilis tingkat lanjut. Biru-hijau mengalihkan seluruh lalu lintas secara seketika antara dua lingkungan untuk pemulihan cepat, sedangkan kanari mengalihkan lalu lintas secara bertahap untuk membatasi risiko. Keduanya dibangun di atas komponen dasar Penerapan dan Layanan yang sudah Anda kenal.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Strategi Deployment: Blue-Green dan Canary” gratis?
Ya — teks lengkap “Strategi Deployment: Blue-Green dan Canary” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Kubernetes Basics, upgrade ke CoddyKit PRO. Kursus Kubernetes Basics mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Strategi Deployment: Blue-Green dan Canary”?
Jangan berhenti pada pembaruan bergulir; pelajari cara merilis dengan aman menggunakan pola deployment blue-green dan canary di Kubernetes. Kamu berlatih Kubernetes Basics dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Kubernetes Basics?
Tidak diperlukan pengalaman sebelumnya. Kubernetes Basics di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Strategi Deployment: Blue-Green dan Canary” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Kubernetes Basics ini?
Ya. Setiap pelajaran Kubernetes Basics menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Memahami Deployment
- Menskalakan Aplikasi dengan ReplicaSets
- Pembaruan Bergulir dan Pengembalian Versi
- Strategi Deployment: Blue-Green dan Canary