Untuk memastikan stabilitas layanan, Anda dapat menerapkan beberapa Container Service for Kubernetes (ACK) klaster secara peer-to-peer untuk mencapai ketersediaan tinggi. Instance Cloud-native API Gateway mendukung akses dari beberapa klaster ACK. Sebuah instance terkait dengan beberapa klaster, menggabungkan layanan dengan nama yang identik, dan menerapkan load balancing di antara layanan tersebut. Anda dapat menggunakan fitur ini bersama dengan fitur pemeriksaan kesehatan Cloud-native API Gateway untuk secara otomatis mendeteksi ketersediaan layanan dan menerapkan pengalihan lalu lintas otomatis saat terjadi kegagalan dengan cara yang efisien. Topik ini menjelaskan cara menggunakan instance Cloud-native API Gateway untuk mengelola beberapa klaster ACK.
Prasyarat
Dua klaster ACK telah dibuat. Untuk informasi lebih lanjut, lihat Buat klaster ACK yang dikelola.
Layanan dengan nama yang sama telah diterapkan di dua klaster ACK. Contoh kode berikut digunakan untuk layanan bernama
httpbin.
Latar Belakang
Dalam praktik produksi, jika stabilitas bisnis yang tinggi diperlukan, Anda dapat menerapkan beberapa klaster ACK secara peer-to-peer untuk memastikan ketersediaan tinggi. Misalnya, Klaster A diterapkan di Zona A dan Klaster B diterapkan di Zona B. Layanan yang sama diterapkan di kedua klaster tersebut. Jika sebuah klaster gagal, lalu lintas dialihkan ke layanan di klaster lainnya.
Cloud-native API Gateway menyediakan fitur akses multi-klaster untuk memenuhi persyaratan penyebaran ketersediaan tinggi bisnis Anda. Jika sebuah instance Cloud-native API Gateway terkait dengan Klaster A dan Klaster B, instance tersebut menggabungkan layanan dengan nama yang sama di kedua klaster 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. Jika Klaster A atau B gagal, semua lalu lintas secara otomatis didistribusikan ke klaster normal dengan menggunakan kemampuan routing instance tersebut. Kami menyarankan Anda menggunakan fitur ini bersama dengan fitur pemeriksaan kesehatan aktif dari instance tersebut. Fitur pemeriksaan kesehatan aktif memungkinkan instance untuk secara aktif mendeteksi ketersediaan alamat IP layanan. Ini membantu menerapkan pengalihan lalu lintas otomatis.
Pada gambar berikut, sebuah instance Cloud-native API Gateway mengelola Layanan A dan B di dua klaster ACK. Jika terjadi crash di Klaster B, Anda masih dapat mengakses Layanan A dan B di Klaster A melalui instance tersebut. Semua lalu lintas secara otomatis beralih ke Klaster A tanpa intervensi manusia.

Langkah 1: Tambahkan sumber layanan ACK ke instance Cloud-native API Gateway
Masuk ke Konsol API Gateway.
Di panel navigasi di sebelah kiri, klik . Di bilah navigasi atas, pilih wilayah.
Di halaman Instance, klik ID instance target.
Di panel navigasi di sebelah kiri, klik Service. Lalu, klik tab Source.
Klik Create Source. Di panel Create Source, pilih ACK di bawah Source Type dan konfigurasikan parameter sesuai petunjuk. Lalu, klik OK. Untuk informasi lebih lanjut, lihat Manajemen sumber layanan.

Langkah 2: Tambahkan Layanan A dan B ke instance Cloud-native API Gateway
Masuk ke Konsol API Gateway.
Di panel navigasi di sebelah kiri, klik . Di bilah navigasi atas, pilih wilayah.
Di halaman Instance, klik ID instance target.
Di panel navigasi di sebelah kiri, klik Service. Lalu, klik tab Services.
Di tab Layanan, klik Create Service. Di panel Create Service, atur Service Source ke ACK, tentukan parameter Namespace dan Services, lalu klik OK. Untuk informasi lebih lanjut, lihat Buat layanan.

Langkah 3: Tambahkan aturan routing untuk layanan di instance Cloud-native API Gateway
Buat API HTTP. Untuk informasi lebih lanjut, lihat Buat API HTTP.
Klik API target dan klik Create Route di pojok kiri atas.
Di panel Create Route, konfigurasikan parameter dan klik Save and Publish. Untuk informasi lebih lanjut, lihat Buat rute.

Periksa hasilnya
Klaster A dan B normal
Di tab Services, lihat alamat IP layanan.
Dua alamat IP ditampilkan.

Akses instance Cloud-native API Gateway beberapa kali. Kode berikut menunjukkan bahwa dua hostname yang berbeda dikembalikan:
curl <Titik akhir instance>/version
Klaster A gagal
Hapus layanan httpbin dari Klaster A.
Dalam kasus ini, hanya satu alamat IP yang tersedia, seperti yang ditunjukkan pada gambar berikut:

Akses instance Cloud-native API Gateway beberapa kali. Kode berikut menunjukkan bahwa hanya satu hostname yang dikembalikan:
curl <Titik akhir instance>/version