全部产品
Search
文档中心

Alibaba Cloud Service Mesh:Cara memigrasikan trafik dari gateway ingress Istio yang dikelola sendiri ke gateway ASM

更新时间:Jul 02, 2025

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

Alur trafik solusi migrasi

Migration Solution

Langkah 1: Ubah instance CLB yang dibuat oleh gateway ingress Istio agar dapat digunakan kembali

Instance CLB yang secara otomatis dibuat oleh sumber daya layanan dari gateway ingress Istio tidak dapat digunakan kembali secara default. Untuk mendistribusikan trafik ke gateway ingress Istio dan ASM melalui instance CLB selama migrasi, Anda harus mengubah instance CLB menjadi status yang dapat digunakan kembali.

  1. Masuk ke konsol CLB, temukan instance CLB yang diinginkan, dan klik ID instance untuk masuk ke halaman konfigurasi.

  2. Nonaktifkan mode baca-saja konfigurasi untuk instance tersebut.

  3. Hapus dua tag khusus berikut dari instance CLB: kubernetes.do.not.delete dan ack.aliyun.com.

  4. Tambahkan anotasi berikut ke sumber daya layanan dari gateway ingress Istio:

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

Contoh kode:

service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners: "false"
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id: lb-bp1onpskfeceg********
# Detail grup vServer dapat diperoleh melalui konsol CLB. Di halaman manajemen instance, klik tab "Grup vServer".
# Anda perlu mencantumkan semua grup vServer dari instance SLB dalam anotasi di bawah ini. Formatnya harus ${ID grup vServer}:${port}.
# Pisahkan beberapa nilai dengan koma.
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-vgroup-port: rsp-bp1r4xk******:15021,rsp-bp1kaqd******:80,rsp-bp1jyz0******:443
# Sebelum migrasi dimulai, bobot gateway ingress Istio adalah 100, menunjukkan bahwa semua trafik diarahkan ke gateway ingress Istio.
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-weight: "100"

Langkah 2: Buat gateway ingress untuk instance ASM

Untuk informasi lebih lanjut, lihat Buat Gateway Ingress.

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

  • Buat gateway ingress ASM menggunakan file YAML. Untuk informasi lebih lanjut, lihat Bidang CRD untuk Gateway ASM.

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

    • Daftar port dan targetPort dari gateway ingress ASM harus sama dengan gateway ingress Istio.

    • Referensi (4) dalam Langkah 1, atur anotasi yang sama untuk gateway ingress ASM dengan mengonfigurasi bidang serviceAnnotation di CRD gateway (lihat Bidang CRD), tetapi tetapkan nilai bobot 0 untuk service.beta.kubernetes.io/alibaba-cloud-loadbalancer-weight di gateway ingress ASM.

  • Verifikasi apakah instance CLB dapat digunakan kembali. Masuk ke konsol CLB, pilih grup vServer, dan klik nama grup untuk melihat layanan backend-nya. Penggunaan ulang yang berhasil ditandai dengan keberadaan alamat pod gateway Istio dan alamat pod gateway ASM.

Langkah 3: Migrasikan konfigurasi terkait gateway ingress Istio ke gateway ASM

Untuk memastikan bahwa gateway ingress ASM berfungsi identik dengan gateway ingress Istio, terapkan konfigurasi gateway ingress Istio ke gateway ingress ASM.

  • Karena gateway ingress ASM harus memiliki nama yang berbeda dari gateway ingress Istio, ubah nilai spec.selector.istio di Gateway CR menjadi nama gateway ingress ASM Anda di file YAML:

    spec:
      selector:
        istio: ingressgateway-asm
  • Konfigurasi seperti konfigurasi VirtualService CR dan DestinationRule CR langsung dimigrasikan ke gateway ASM tanpa modifikasi.

Langkah 4: Secara bertahap migrasikan trafik dari gateway Istio ke gateway ASM

Modifikasi serviceAnnotations untuk gateway ingress Istio dan ASM untuk menyesuaikan bobot trafik mereka. Untuk melakukan migrasi bertahap, Anda perlu secara bertahap meningkatkan rasio trafik gateway ASM dan mengurangi rasio trafik gateway Istio hingga semua trafik diarahkan ke gateway ingress ASM.

Kontrol distribusi trafik CLB dengan memodifikasi anotasi layanan untuk kedua gateway:

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

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