Trace Id is missing
Lompat ke konten utama

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.
Peluncuran Kubernetes

Kasus penggunaan penyebaran Kubernetes

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

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.

Diagram peluncuran yang disesuaikan

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.

Diagram peluncuran biru/hijau

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.

Diagram peluncuran canary

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.

Diagram pengujian A/B

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.

Siap kapan saja—coba Kubernetes secara gratis di Azure