全部产品
Search
文档中心

Alibaba Cloud Service Mesh:Migrasi Trafik dari Ingress Gateway Istio Mandiri ke Ingress Gateway ASM

更新时间:Jun 28, 2025

Topik ini menjelaskan cara memigrasikan trafik dari ingress gateway Istio mandiri ke ingress gateway Service Mesh (ASM).

Alur Trafik Solusi Migrasi

迁移方案

Langkah 1: Buat ingress gateway untuk instance ASM

Untuk informasi lebih lanjut, lihat Buat Ingress Gateway.

Saat membuat ingress gateway ASM, perhatikan hal-hal berikut:

  • Nama ingress gateway ASM harus berbeda dari ingress gateway Istio yang ada. Anda dapat menambahkan akhiran -asm pada nama ingress gateway ASM untuk membedakannya dari ingress gateway Istio yang ada. Sebagai contoh, Anda dapat menamai ingress gateway ASM sebagai ingressgateway-asm.

  • Dalam Langkah 3 dari topik Buat Ingress Gateway, atur parameter Cluster ke kluster Kubernetes tempat ingress gateway Istio sumber berada.

  • Ubah catatan Domain Name System (DNS) nama domain menjadi alamat IP ingress gateway ASM. Jika tidak dapat mengubah catatan DNS nama domain, Anda dapat secara bertahap memigrasikan trafik dengan menyesuaikan bobot ingress gateway sumber dan tujuan. Dalam hal ini, ingress gateway ASM harus menggunakan kembali instance Classic Load Balancer (CLB) yang terkait dengan ingress gateway Istio sumber. Seperti ditunjukkan pada gambar di atas, ingress gateway ASM menggunakan kembali instance CLB yang terkait dengan ingress gateway Istio sumber.

    Catatan

    Untuk informasi lebih lanjut tentang penggunaan kembali instance CLB yang dibuat menggunakan tipe layanan LoadBalancer, lihat FAQ dalam topik ini.

Kembangkan untuk melihat catatan tentang penggunaan kembali instance CLB

Saat menggunakan file YAML gateway Istio untuk membuat ingress gateway ASM, perhatikan hal-hal berikut jika perlu menggunakan kembali instance CLB yang ada:

  • Edit konfigurasi terkait instance CLB untuk parameter serviceAnnotations dalam file YAML.

  • service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id: menentukan instance CLB yang ingin digunakan kembali. Instance CLB tersebut terkait dengan ingress gateway Istio sumber.

  • service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners: menentukan apakah akan menimpa pendengar (listeners) yang ada dari instance CLB. Atur nilainya menjadi false.

  • service.beta.kubernetes.io/alibaba-cloud-loadbalancer-vgroup-port: menentukan grup vServer dari instance CLB yang ingin digunakan kembali. Pisahkan beberapa port dan grup vServer dengan koma (,). Contoh: "${YOUR_VGROUP_ID_1}:80, ${YOUR_VGROUP_ID_2}:443".

  • service.beta.kubernetes.io/alibaba-cloud-loadbalancer-weight: menentukan bobot ingress gateway ASM. Anda dapat menyesuaikan bobot berdasarkan kebutuhan bisnis Anda. Anda dapat mengatur bobot menjadi 0 saat belum ada aturan routing yang dikonfigurasi untuk ingress gateway ASM atau terjadi pengecualian. Saat mengatur bobot menjadi 0, instance CLB tidak akan meneruskan trafik ke ingress gateway ASM.

Contoh konfigurasi anotasi layanan:

serviceAnnotations:
  service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id: "lb-xxxxx"  //Ganti lb-xxxxx dengan ID instance CLB yang Anda buat di konsol CLB.
  service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners: 'false'  //Atur nilai menjadi false karena pendengar CLB yang ada ditimpa secara default pada gateway Istio.
  service.beta.kubernetes.io/alibaba-cloud-loadbalancer-vgroup-port: "${YOUR_VGROUP_ID}:80"   //Ganti ${YOUR_VGROUP_ID} dengan ID grup vServer dari instance CLB.
  service.beta.kubernetes.io/alibaba-cloud-loadbalancer-weight: "60" //Jika Anda mengatur bobot menjadi 0, ingress gateway ASM tidak lagi menerima trafik.

Langkah 2: Migrasi Konfigurasi

  • Ubah nilai selector.istio menjadi nama ingress gateway ASM Anda dalam file YAML untuk memigrasikan konfigurasi ingress gateway. Contoh file YAML:

    spec:
      selector:
        istio: ingressgateway-asm
  • Migrasikan konfigurasi lainnya seperti konfigurasi VirtualService dan DestinationRule.

Langkah 3: Migrasi Trafik

Modifikasi anotasi layanan untuk menyesuaikan bobot ingress gateway sumber dan tujuan. Anda dapat terlebih dahulu mengatur bobot ingress gateway ASM menjadi nilai kecil, seperti 10, dan periksa apakah alur trafik sesuai harapan. Kemudian, secara bertahap tingkatkan bobot hingga semua trafik diarahkan ke ingress gateway ASM.

Metode penyesuaian bobot:

  • Untuk menyesuaikan bobot ingress gateway Istio sumber, edit anotasi service.beta.kubernetes.io/alibaba-cloud-loadbalancer-weight untuk layanan yang sesuai.

  • Untuk menyesuaikan bobot ingress gateway ASM, edit anotasi layanan service.beta.kubernetes.io/alibaba-cloud-loadbalancer-weight untuk ingress gateway ASM.

FAQ: Jika instance CLB dibuat secara otomatis saat Layanan dibuat untuk ingress gateway Istio mandiri, bagaimana cara menggunakan kembali instance CLB untuk ingress gateway ASM?

  1. Pergi ke konsol CLB dan temukan instance CLB yang diinginkan. Hapus dua label berikut dari instance CLB: kubernetes.do.not.delete dan ack.aliyun.com.

  2. Tambahkan anotasi berikut ke Layanan yang sesuai dari ingress gateway Istio mandiri:

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners: "false"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id: ${ID instance CLB}
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-vgroup-port: ${ID grup vServer}:${Nomor Port}
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-weight: "100"