Untuk memastikan stabilitas layanan, Anda dapat menerapkan beberapa kluster Container Service for Kubernetes (ACK) secara peer-to-peer guna mencapai ketersediaan tinggi. Gateway cloud-native mendukung akses dari beberapa kluster ACK dengan mengaitkannya ke gateway tersebut, menggabungkan layanan yang memiliki nama identik, serta menerapkan load balancing di antara layanan-layanan tersebut. Fitur ini dapat digunakan bersama fitur pemeriksaan kesehatan gateway untuk secara otomatis mendeteksi ketersediaan layanan dan melakukan alih bencana traffic secara efisien saat terjadi kegagalan. Topik ini menjelaskan cara menggunakan gateway cloud-native untuk mengelola dua kluster ACK.
Prasyarat
Dua kluster ACK telah dibuat. Untuk informasi selengkapnya tentang cara membuat kluster ACK, lihat Create an ACK managed cluster.
-
Terapkan layanan dengan nama yang sama di kedua kluster. Topik ini menggunakan layanan
httpbinsebagai contoh. YAML berikut menunjukkan konfigurasi contohnya.
Informasi latar belakang
Dalam praktik produksi, jika diperlukan stabilitas bisnis yang tinggi, Anda dapat menerapkan beberapa kluster ACK secara peer-to-peer untuk memastikan ketersediaan tinggi. Misalnya, Kluster A diterapkan di Zona A dan Kluster B diterapkan di Zona B. Layanan yang sama diterapkan di kedua kluster tersebut. Jika salah satu kluster gagal, traffic dialihkan ke layanan di kluster lainnya.
Gateway cloud-native menyediakan fitur akses multi-kluster untuk memenuhi kebutuhan penerapan ketersediaan tinggi bisnis Anda. Jika gateway cloud-native dikaitkan dengan Kluster A dan Kluster B, gateway tersebut akan menggabungkan layanan dengan nama identik dari kedua kluster menjadi satu layanan. Nama layanan gabungan tersebut sama dengan nama layanan aslinya, tetapi daftar alamat IP layanan gabungan tersebut mencakup semua alamat IP dari kedua layanan tersebut. Jika Kluster A atau B gagal, seluruh traffic secara otomatis didistribusikan ke kluster yang normal melalui kemampuan routing gateway cloud-native. Kami menyarankan Anda menggunakan fitur ini bersama dengan fitur pemeriksaan kesehatan aktif gateway. Fitur pemeriksaan kesehatan aktif memungkinkan gateway untuk secara aktif mendeteksi ketersediaan alamat IP layanan, sehingga membantu mewujudkan alih bencana traffic secara otomatis.
Pada gambar berikut, gateway cloud-native mengelola Layanan A dan B di dua kluster ACK. Jika terjadi crash pada Kluster B, Anda tetap dapat mengakses Layanan A dan B di Kluster A melalui gateway tersebut. Seluruh traffic secara otomatis dialihkan ke Kluster A tanpa intervensi manual.

Langkah 1: Tambahkan sumber layanan ACK ke gateway cloud-native
-
Masuk ke Konsol MSE. Di bilah navigasi atas, pilih wilayah.
-
Di panel navigasi kiri, pilih Cloud-native Gateway > Gateways. Pada halaman Gateways, klik ID gateway tersebut.
-
Di panel navigasi kiri, klik Routes. Lalu, klik tab Source.
-
Pada tab Sources, klik Add Source. Pada panel Add Source, konfigurasikan parameter dan klik OK. Untuk informasi selengkapnya, lihat Add a service source.
Setelah sumber layanan dibuat, Anda dapat melihatnya dalam daftar sumber. Daftar tersebut menampilkan informasi seperti Name/ID, Source Type, Associated Information, Ingress Listening Status, dan Change Time. Anda juga dapat mengklik Edit atau Delete untuk mengelola sumber tersebut.
Langkah 2: Tambahkan Layanan A dan B ke gateway cloud-native
-
Di panel navigasi kiri, klik Routes. Lalu, klik tab Services.
-
Pada tab Services, klik Add Service. Pada panel Add Service, konfigurasikan parameter dan klik OK. Untuk informasi selengkapnya, lihat Add a service.
Setelah layanan dibuat, Anda dapat menemukannya (misalnya, httpbin) dalam daftar layanan. Status pemeriksaan kesehatannya ditampilkan sebagai Healthy.
Langkah 3: Tambahkan aturan routing untuk layanan di gateway cloud-native
-
Di panel navigasi kiri, klik Routes. Lalu, klik tab Routes.
-
Pada tab Routes, klik Add Route. Pada halaman Add Route, konfigurasikan parameter dan klik Save and Release. Untuk informasi selengkapnya, lihat Create a route.
Setelah entri rute dibuat, entri rute baru, testt, muncul dalam daftar entri rute. Kondisi entri rutennya adalah exact match untuk
/test, jenis layanan tujuannya adalah Single Service, layanan tujuannya adalah httpbin, dan statusnya adalah Published.
Verifikasi hasil
Kluster A dan B dalam kondisi normal
-
Pada tab Services, lihat alamat IP layanan tersebut.
Daftar alamat layanan berisi dua catatan. Status pemeriksaan kesehatan untuk layanan httpbin adalah Healthy, dan daftar tersebut menampilkan dua alamat IP, misalnya 192.168.xxx.xxx. Hal ini menunjukkan bahwa kedua kluster sedang menyediakan layanan.
Akses gateway beberapa kali untuk menghasilkan log akses. Contoh kode:
while :; do curl http://<IP address of the SLB instance associated with the gateway>/test ; done-
Kueri dan analisis log gateway.
-
Masuk ke Konsol MSE.
-
Di panel navigasi kiri, pilih Cloud-native Gateway > Gateways. Di bilah navigasi atas, pilih wilayah.
-
Pada halaman Gateways, klik ID gateway tersebut.
-
Di panel navigasi kiri, pilih Observation Analysis > Log Center. Di pojok kanan atas halaman Log Center, pilih Log Service.
Pada kotak pencarian, masukkan
route_name : test | SELECT COUNT(*) GROUP BY upstream_hostdan klik tab Statistics/Chart untuk melihat hasilnya.Anda dapat mengkueri alamat IP layanan di kluster berdasarkan upstream_host. upstream_host memiliki dua nilai, seperti yang ditunjukkan pada gambar berikut. Hal ini menunjukkan bahwa traffic didistribusikan secara merata ke dua kluster ACK.
Jalankan kueri
route_name : test | SELECT DISTINCT upstream_hostdi penyimpanan logmse_gw_access_log. Pada tab Statistics/Chart, Anda dapat melihat dua nilaiupstream_host:192.168.15.82:8080(Kluster A) dan192.168.15.52:8080(Kluster B).
-
Kluster A gagal
-
Hapus layanan httpbin dari Kluster A.
Dalam kasus ini, hanya tersisa satu alamat IP, seperti yang ditunjukkan pada gambar berikut.
Pada konsol manajemen layanan, kolom Service Address untuk layanan httpbin sekarang hanya menampilkan satu alamat IP.
Akses gateway beberapa kali untuk menghasilkan log akses. Contoh kode:
while :; do curl http://<IP address of the SLB instance associated with the gateway>/test ; done-
Kueri dan analisis log gateway.
-
Masuk ke Konsol MSE.
-
Di panel navigasi kiri, pilih Cloud-native Gateway > Gateways. Di bilah navigasi atas, pilih wilayah.
-
Pada halaman Gateways, klik ID gateway tersebut.
-
Di panel navigasi kiri, pilih Observation Analysis > Log Center. Di pojok kanan atas halaman Log Center, pilih Log Service.
Pada kotak pencarian, jalankan kueri
route_name : test | SELECT COUNT(*) GROUP BY upstream_hostdan beralih ke tab Statistics/Chart untuk melihat hasilnya.upstream_host hanya memiliki satu nilai, seperti yang ditunjukkan pada gambar berikut. Nilai tersebut menunjukkan alamat IP layanan di Kluster B. Hal ini menunjukkan bahwa gateway mendistribusikan seluruh traffic ke Kluster B.
-