Lewati Navigasi

Strategi penyebaran Kubernetes

Temukan strategi peluncuran Kubernetes yang optimal untuk aplikasi Anda

Ketahui opsi penyebaran Kubernetes Anda

Baik jika Anda ingin mempersingkat waktu ke pasar, membuat penyebaran yang tangguh tanpa waktu henti, merilis aplikasi dan fitur lebih cepat atau lebih sering, maupun beroperasi dengan fleksibilitas yang lebih besar, memilih strategi penyebaran Kubernetes yang tepat adalah kunci untuk memberikan aplikasi dan infrastruktur yang tangguh. Setiap strategi penyebaran Kubernetes memiliki keuntungannya tergantung pada tujuan dan kebutuhan Anda.

Baru mengenal Kubernetes? Pelajari dasar-dasarnya

Cara kerja penyebaran Kubernetes

Sebelum menerapkan strategi penyebaran Kubernetes, Anda perlu memahami bagian penyebaran Kubernetes dan cara kerja semuanya berfungsi.

Yang ada dalam penyebaran Kubernetes

File YAML

Status yang diinginkan untuk kluster Kubernetes Anda—konfigurasi Pod—yang Anda deskripsikan, yang berfungsi sebagai dasar untuk penyebaran Kubernetes.

Pod

Kontainer, sumber daya bersama, dan lingkungan yang perlu diperlukan untuk menjalankan aplikasi atau alur kerja Anda.

ReplicaSet

Grup pod yang dikonfigurasi secara identik disebut ReplicaSet, yang memastikan tipe dan jumlah pod yang dideskripsikan dalam file YAML untuk penyebaran Kubernetes, berjalan setiap saat. Jika pod gagal, pod baru akan dibuat.

Kube-controller-manager

Mengubah status kluster saat ini agar sesuai dengan status yang diinginkan yang dideskripsikan dalam YAML, membuat Pod dan ReplicaSet baru, serta memperbarui atau menghapus yang sudah ada.

Kube-scheduler

Menentukan cara pod dan ReplicaSet disebarkan di antara node pekerja Anda di samping mendistribusikan lalu lintas ke node tersebut.

Peluncuran

Proses konfigurasi ulang kluster dari status saat ini ke status yang diinginkan—berhasil tanpa waktu henti dalam sebagian besar kasus.

Cara kerja peluncuran Kubernetes

  1. Buat file YAML yang mendeskripsikan konfigurasi status yang diinginkan dari kluster.
  2. Terapkan file YAML ke kluster melalui kubectl, antarmuka baris perintah Kubernetes.
  3. Kubectl mengirimkan permintaan ke kube-apiserver, yang mengautentikasi dan mengotorisasi permintaan sebelum merekam perubahan ke database, etcd.
  4. Kube-controller-manager terus memantau sistem untuk permintaan baru dan bekerja untuk merekonsiliasi status sistem ke status yang diinginkan—sementara membuat ReplicaSets, penyebaran, dan pod.
  5. Setelah semua pengontrol berjalan, kube-scheduler melihat bahwa ada pod dalam status "tertunda" karena belum dijadwalkan untuk berjalan pada node. Scheduler menemukan node yang cocok untuk pod, kemudian berkomunikasi dengan kubelet di setiap node untuk mengambil kontrol dan memulai penyebaran.

Kasus penggunaan penyebaran Kubernetes

Luncurkan aplikasi dan alur kerja dalam kontainer melalui penyebaran Kubernetes dengan empat cara. Strategi penyebaran Kubernetes yang Anda gunakan dapat menggunakan satu atau beberapa kasus penggunaan ini.

Buat

Luncurkan pod dan ReplicaSet Kubernetes yang benar-benar baru.

Perbarui

Deklarasikan status baru yang diinginkan dan luncurkan pod dan ReplicaSet baru dengan cara yang terkontrol.

Putar Kembali

Kembalikan penyebaran Kubernetes ke status sebelumnya—berguna jika status saat ini tidak stabil.

Skala

Tingkatkan jumlah pod dan ReplicaSet di penyebaran Kubernetes tanpa mengubahnya.

Strategi penyebaran Kubernetes

Strategi penyebaran Kubernetes yang terbaik untuk skenario Anda tergantung pada banyak faktor: berapa banyak 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 hal 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.

Ramped

Metode peluncuran default Kubernetes adalah penyebaran ramped atau rolling. Penyebaran ini perlahan mengganti pod satu per satu untuk menghindari waktu henti. Pod lama diskalakan hanya setelah pod baru siap. Jika penyebaran Anda 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) aplikasi atau alur kerja Anda, sementara versi 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 dari mereka. Anda akan menjalankan satu ReplicaSet versi baru bersama dengan versi saat ini, lalu setelah periode waktu tertentu berlalu tanpa kesalahan, tingkatkan skala versi baru selagi Anda menghapus versi lama.

Pengujian A/B

Sama seperti strategi penyebaran Canary Kubernetes, strategi pengujian A/B menargetkan grup pelanggan tertentu. Namun, penyebaran pengujian A/B tidak hanya berupaya untuk membangun stabilitas versi—pengujian ini digunakan untuk menguji seberapa efektif versi dalam mencapai tujuan bisnis. Versi baru didistribusikan ke pengguna berdasarkan faktor seperti cookie, geolokasi, sistem operasi, dan jenis perangkat, serta sering dijalankan bersama dengan versi saat ini—skalanya ditingkatkan jika versi baru terbukti berfungsi lebih baik.

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. Seimbangkan kecepatan dan keamanan sementara Anda mengirimkan kode lebih cepat sesuai skala.

Helm

Alat pengemasan sumber terbuka. Instal, mutakhirkan, dan kelola aplikasi Kubernetes menggunakan bagan yang Anda buat, terapkan versi, bagikan, dan terbitkan.

Azure Kubernetes Service (AKS)

Layanan Kubernetes dengan ketersediaan tinggi, aman, dan terkelola sepenuhnya. Sebarkan dan kelola aplikasi kontainer di cloud.

Siap saat Anda telah siap. Coba Kubernetes secara gratis di Azure