全部产品
Search
文档中心

API Gateway:Kelola klaster ACK dengan menggunakan instance Cloud-native API Gateway

更新时间:Jul 06, 2025

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.

    Tampilkan konten YAML

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: httpbin
      namespace: default
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: httpbin
      template:
        metadata:
          labels:
            app: httpbin
            version: v1
        spec:
          containers:
            - image: registry.cn-hangzhou.aliyuncs.com/mse-ingress/go-httpbin
              args:
                - "--version=v1"
              imagePullPolicy: Always
              name: httpbin
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: httpbin
      namespace: default
    spec:
      ports:
        - port: 8080
          protocol: TCP
      selector:
        app: 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.

image

Langkah 1: Tambahkan sumber layanan ACK ke instance Cloud-native API Gateway

  1. Masuk ke Konsol API Gateway.

  2. Di panel navigasi di sebelah kiri, klik Cloud-native API Gateway > Instance. Di bilah navigasi atas, pilih wilayah.

  3. Di halaman Instance, klik ID instance target.

  4. Di panel navigasi di sebelah kiri, klik Service. Lalu, klik tab Source.

  5. 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.

    image

Langkah 2: Tambahkan Layanan A dan B ke instance Cloud-native API Gateway

  1. Masuk ke Konsol API Gateway.

  2. Di panel navigasi di sebelah kiri, klik Cloud-native API Gateway > Instance. Di bilah navigasi atas, pilih wilayah.

  3. Di halaman Instance, klik ID instance target.

  4. Di panel navigasi di sebelah kiri, klik Service. Lalu, klik tab Services.

  5. 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.

    image

Langkah 3: Tambahkan aturan routing untuk layanan di instance Cloud-native API Gateway

  1. Buat API HTTP. Untuk informasi lebih lanjut, lihat Buat API HTTP.

  2. Klik API target dan klik Create Route di pojok kiri atas.

  3. Di panel Create Route, konfigurasikan parameter dan klik Save and Publish. Untuk informasi lebih lanjut, lihat Buat rute.

    image

Periksa hasilnya

Klaster A dan B normal

  1. Di tab Services, lihat alamat IP layanan.

    Dua alamat IP ditampilkan.

    image

  2. Akses instance Cloud-native API Gateway beberapa kali. Kode berikut menunjukkan bahwa dua hostname yang berbeda dikembalikan:

    curl <Titik akhir instance>/version

    image

Klaster A gagal

  1. Hapus layanan httpbin dari Klaster A.

    Dalam kasus ini, hanya satu alamat IP yang tersedia, seperti yang ditunjukkan pada gambar berikut:

    image

  2. Akses instance Cloud-native API Gateway beberapa kali. Kode berikut menunjukkan bahwa hanya satu hostname yang dikembalikan:

    curl <Titik akhir instance>/version

    image