Strategi penyebaran Kubernetes
Temukan strategi peluncuran Kubernetes yang optimal untuk aplikasi Anda.
Ketahui opsi penyebaran Kubernetes Anda
Baik Anda ingin mempersingkat waktu untuk memasarkan, membuat penyebaran yang tangguh tanpa waktu henti, merilis aplikasi dan fitur lebih cepat atau lebih sering, maupun beroperasi dengan fleksibilitas yang lebih besar, pemilihan strategi penyebaran Kubernetes yang tepat adalah kunci untuk memberikan aplikasi dan infrastruktur yang tangguh. Setiap strategi penyebaran Kubernetes memiliki keuntungan tergantung pada tujuan dan kebutuhan Anda.
Cara kerja penyebaran Kubernetes
Sebelum menerapkan strategi penerapan Kubernetes, Anda harus memahami bagian-bagian penyebaran Kubernetes dan cara semuanya berfungsi bersama-sama.
Apa yang ada dalam penyebaran Kubernetes
File YAML
Status yang diinginkan untuk kluster Kubernetes Anda, konfigurasi Pod, yang Anda jelaskan, yang berfungsi sebagai dasar untuk penyebaran Kubernetes.
Pod
Kontainer, sumber daya bersama, dan lingkungan yang perlu dijalankan aplikasi atau alur kerja Anda.
ReplicaSet
Grup pod yang dikonfigurasi secara identik disebut ReplicaSets yang memastikan tipe dan jumlah pod yang dijelaskan dalam file YAML untuk penyebaran Kubernetes berjalan sepanjang waktu. Jika pod gagal, pod baru akan dibuat.
Kube-controller-manager
Mengubah status kluster saat ini agar sesuai dengan status yang diinginkan yang dijelaskan dalam YAML, membuat Pod dan ReplicaSet baru serta memperbarui atau menghapus yang sudah ada.
Kube-scheduler
Menentukan cara pod dan ReplicaSets disebarkan di antara node pekerja Anda selain mendistribusikan lalu lintas ke node tersebut.
Peluncuran
Proses mengonfigurasi ulang kluster dari status saat ini ke status yang diinginkan—dalam banyak kasus dicapai tanpa waktu henti.
Cara kerja peluncuran Kubernetes
- Buat file YAML yang menjelaskan konfigurasi status kluster yang diinginkan.
- Terapkan file YAML ke kluster melalui kubectl, yaitu antarmuka baris perintah Kubernetes.
- Kubectl mengirimkan permintaan ke kube-apiserver, yang mengautentikasi dan mengotorisasi permintaan sebelum merekam perubahan ke database, dll.
- Kube-controller-manager terus memantau sistem untuk permintaan baru dan bekerja untuk merekonsiliasi status sistem ke status yang diinginkan—membuat ReplicaSets, penyebaran, dan pod dalam proses.
- Setelah semua pengontrol berjalan, kube-scheduler akan menemukan ada pod dalam status "tertunda" karena pod belum dijadwalkan untuk dijalankan pada node. Penjadwal menemukan node yang cocok untuk pod, lalu berkomunikasi dengan kubelet di setiap node untuk mengambil kontrol dan memulai penyebaran.
Kasus penggunaan penyebaran Kubernetes
Buat
Meluncurkan pod Kubernetes dan ReplicaSets yang benar-benar baru.
Perbarui
Mendeklarasikan status baru yang diinginkan dan luncurkan pod dan ReplicaSets baru dengan cara yang terkontrol.
Putar kembali
Kembalikan penyebaran Kubernetes ke status sebelumnya—berguna jika status saat ini tidak stabil.
Skalakan
Meningkatkan jumlah Pod dan ReplicaSet di penyebaran Kubernetes tanpa mengubahnya.
Strategi penyebaran Kubernetes
Strategi penyebaran Kubernetes terbaik untuk skenario Anda tergantung pada banyak faktor: jumlah waktu henti yang dapat Anda luangkan (jika ada), lingkungan penyebaran Anda, seberapa yakin Anda berada dalam stabilitas versi atau platform baru, apakah Anda perlu menguji serta apa yang Anda harapkan untuk dipelajari, biaya sumber daya dan ketersediaan, dan tujuan bisnis. Berikut adalah empat strategi penyebaran umum yang digunakan organisasi dalam produksi.
Disesuaikan
Metode peluncuran default Kubernetes adalah penyebaran yang disesuaikan atau digilir. Penyebaran ini perlahan mengganti pod satu per satu untuk menghindari waktu henti. Pod lama diskalakan hanya setelah pod baru siap. Jika penyebaran mengalami masalah, Anda dapat menjeda atau membatalkan penyebaran Kubernetes tanpa membuat seluruh kluster menjadi offline.
Biru/hijau
Dalam penyebaran biru/hijau, Anda merilis versi baru (biru) dari aplikasi atau alur kerja Anda saat versi Anda saat ini (hijau) masih berjalan. Hal ini memungkinkan Anda menguji versi biru dalam produksi sekaligus hanya memaparkan pengguna ke versi hijau yang stabil. Setelah diuji, versi biru secara bertahap menggantikan versi hijau.
Canary
Izinkan pelanggan Anda untuk menguji penyebaran Kubernetes Anda dengan merilis versi baru ke sekelompok kecil pelanggan. Anda akan menjalankan satu ReplicaSet dari versi baru bersama dengan versi saat ini, dan setelah jangka waktu tertentu tanpa kesalahan, tingkatkan versi baru saat Anda menghapus versi lama.
Pengujian A/B
Sama seperti strategi penyebaran Kubernetes canary, strategi pengujian A/B menargetkan sekelompok pelanggan tertentu. Namun, penyebaran pengujian A/B berupaya menetapkan lebih dari sekadar stabilitas versi. Ini digunakan untuk menguji keefektifan versi tersebut dalam mencapai sasaran bisnis. Versi baru didistribusikan ke pengguna berdasarkan faktor seperti cookie, geolokasi, sistem operasi, dan tipe perangkat, dan versi sering dijalankan bersama dengan versi saat ini— peningkatan seiring versi baru membuktikan nilainya.
Alat penyebaran Kubernetes
Meskipun Anda dapat menggunakan baris perintah atau file YAML untuk menjalankan salah satu strategi penyebaran Kubernetes tersebut, dapatkan manfaat yang lebih besar atas kluster dan penyebaran Anda dengan menerapkan alat dan layanan penyebaran Kubernetes seperti ini.
Azure DevOps
Rantai pasokan aplikasi lengkap untuk mengotomatiskan penyebaran Kubernetes. Keseimbangan kecepatan dan keamanan saat Anda mengirimkan kode lebih cepat dalam skala besar.
Helm
Alat pengemasan sumber terbuka. Instal, tingkatkan, dan kelola aplikasi Kubernetes menggunakan bagan yang Anda buat, versikan, bagikan, dan terbitkan.
Azure Kubernetes Service (AKS)
Layanan Kubernetes yang sangat tersedia, aman, dan dikelola penuh. Sebarkan dan kelola aplikasi kontainer di cloud.