All Products
Search
Document Center

:Konfigurasi penyebaran bergulir tanpa gangguan

Last Updated:Mar 19, 2026

Penyebaran bergulir tanpa gangguan di Kubernetes membagi proses rilis lengkap menjadi beberapa batch, dengan satu batch dirilis setiap kali. Setelah semua batch dirilis, penyebaran bergulir tanpa gangguan selesai. Microservices Engine (MSE) menyediakan kemampuan mulai mulus yang memungkinkan aplikasi terdaftar ke instans MSE dan dipra-ambil sebelum pemeriksaan kesiapan, sehingga memastikan instans aplikasi yang tersedia tetap berjalan selama proses tersebut. Topik ini menjelaskan cara mengimplementasikan penyebaran bergulir tanpa gangguan.

Prasyarat

Perhatian

Fitur pra-ambil layanan bertrafik rendah dirancang untuk skenario tempat aplikasi layanan mikro dijalankan. Agar sistem dapat menyelesaikan pra-ambil layanan sebelum pemeriksaan kesiapan, perhatikan hal-hal berikut:

  • Anda dapat mengaktifkan fitur pra-ambil layanan untuk aplikasi Spring Cloud yang menggunakan registri Nacos atau ZooKeeper.

  • Fitur pra-ambil layanan diimplementasikan untuk aplikasi Spring Cloud berdasarkan kelas load balancer default ZoneAwareLoadBalancer dari framework Spring Cloud. Jika Anda mengubah kelas ini untuk aplikasi Spring Cloud Anda, fitur pra-ambil layanan menjadi tidak efektif.

  • Fitur pra-ambil bertrafik rendah diimplementasikan untuk aplikasi Dubbo dengan menggunakan mse-loadbalance sebagai load balancer. Jika Anda telah mengonfigurasi load balancer untuk aplikasi Dubbo, Anda harus menonaktifkan load balancer tersebut. Jika tidak, fitur pra-ambil bertrafik rendah yang disediakan oleh MSE tidak efektif untuk aplikasi Dubbo tersebut.

  • Dalam kebanyakan kasus, gerbang tidak dipanggil melalui registri melainkan dipanggil melalui API. Oleh karena itu, fitur pra-ambil bertrafik rendah yang disediakan oleh MSE tidak efektif untuk gerbang.

Selesaikan pendaftaran layanan sebelum pemeriksaan kesiapan

Kubernetes tidak dapat mendeteksi kapan instans aplikasi layanan mikro siap. Dalam kebanyakan kasus, instans aplikasi dianggap siap jika sebuah port dapat terhubung ke instans tersebut. Namun, instans aplikasi versi baru mungkin belum terdaftar ke registri sebelum instans versi lama dimatikan, sehingga konsumen mungkin gagal memanggil penyedia versi baru. Untuk mengatasi masalah ini, Kubernetes menyediakan mekanisme pemeriksaan kesiapan yang memungkinkan Anda melakukan pemeriksaan kesehatan pada instans aplikasi. Jika pemeriksaan kesehatan berhasil, instans aplikasi dianggap siap.

MSE menyediakan fitur yang menyelaraskan siklus hidup layanan mikro dengan pemeriksaan kesiapan Kubernetes. Jika Anda mengaktifkan fitur ini, MSE menyediakan sebuah port melalui agen untuk mendeteksi apakah instans aplikasi telah terdaftar ke registri—tanpa memerlukan perubahan kode. Jika MSE mendeteksi bahwa instans aplikasi telah terdaftar, kode status 200 dikembalikan; jika belum terdaftar, kode status 500 dikembalikan, yang menunjukkan bahwa instans aplikasi belum siap.

  1. Masuk ke Konsol MSE, lalu pilih Wilayah di bilah navigasi atas.

  2. Di panel navigasi sebelah kiri, pilih Microservices Governance > Application Governance. Pada halaman yang muncul, klik kartu sumber daya aplikasi yang ingin Anda kelola.

  3. Pada halaman detail aplikasi, klik Traffic management di panel navigasi sebelah kiri, lalu klik tab Graceful Start/Shutdown.

  4. Pada bagian Graceful Start, konfigurasikan Preheating duration (seconds) dan Delayed registration time (seconds). Kemudian, klik Advanced Settings dan aktifkan sakelar di sebelah kanan Complete service registration before passing the readiness check.

  5. Aktifkan sakelar di sebelah kanan Graceful Start.

    Setelah aplikasi dimulai ulang, sistem dapat menyelesaikan pendaftaran layanan sebelum pemeriksaan kesiapan.

  6. Masuk ke ACK console, konfigurasikan readiness probe untuk aplikasi tujuan, lalu update konfigurasi tersebut.

    Pilih Enable di sebelah kanan Readiness dan konfigurasikan parameter berikut:

    • Path: Masukkan /health di bidang tersebut.

    • Port: Masukkan 55199 di bidang tersebut.

    • Pertahankan nilai default untuk parameter lainnya.

    Untuk informasi selengkapnya tentang parameter tersebut, lihat Deploy a stateless application from an image.

    Setelah aplikasi dimulai ulang, sistem dapat menyelesaikan pendaftaran layanan sebelum pemeriksaan kesiapan.

Selesaikan pra-ambil layanan sebelum pemeriksaan kesiapan

Selain penggunaan terpisah fitur pra-ambil layanan bertrafik rendah dan fitur pendaftaran layanan tertunda, Anda dapat mengaitkan kedua fitur tersebut dengan mekanisme pemeriksaan kesiapan Kubernetes dalam skenario online yang kompleks. Pemeriksaan kesiapan Kubernetes akan berhasil hanya jika pra-ambil layanan telah selesai, sehingga memastikan aplikasi menjadi siap setelah pra-ambil layanan selesai.

  1. Masuk ke Konsol MSE, lalu pilih Wilayah di bilah navigasi atas.

  2. Di panel navigasi sebelah kiri, pilih Microservices Governance > Application Governance. Pada halaman yang muncul, klik kartu sumber daya aplikasi yang ingin Anda kelola.

  3. Pada halaman detail aplikasi, klik Traffic management di panel navigasi sebelah kiri, lalu klik tab Graceful Start/Shutdown.

  4. Pada bagian Graceful Start, konfigurasikan Preheating duration (seconds) dan Delayed registration time (seconds). Kemudian, klik Advanced Settings dan aktifkan sakelar di sebelah kanan Complete service warm-up before passing the readiness check.

  5. Aktifkan sakelar di sebelah kanan Graceful Start.

  6. Masuk ke ACK console, konfigurasikan readiness probe untuk aplikasi tujuan, lalu update konfigurasi tersebut.

    Pilih Enable di sebelah kanan Readiness dan konfigurasikan parameter berikut:

    • Path: Masukkan /health di bidang tersebut.

    • Port: Masukkan 55199 di bidang tersebut.

    • Pertahankan nilai default untuk parameter lainnya.

    Untuk informasi selengkapnya tentang parameter tersebut, lihat Deploy a stateless application from an image.

    Setelah aplikasi dimulai ulang, sistem dapat menyelesaikan pra-ambil layanan sebelum pemeriksaan kesiapan.