All Products
Search
Document Center

Alibaba Cloud Service Mesh:Konfigurasikan gerbang Istio untuk beberapa gerbang masuk

Last Updated:Mar 11, 2026

Ketika beberapa gerbang masuk melayani instans Classic Load Balancer (CLB) yang berbeda tetapi memerlukan pengaturan Pendengar yang sama, mengonfigurasi setiap gerbang secara terpisah menyebabkan duplikasi dan risiko deviasi. Di Service Mesh (ASM), Anda dapat memberikan label bersama pada beberapa Penerapan gerbang masuk dan menyetel label yang sama di bidang spec.selector pada satu resource Gateway. Dengan demikian, satu konfigurasi gerbang Istio dapat melayani semua gerbang masuk yang sesuai.

Topik ini menjelaskan cara menambahkan label bersama ke gerbang masuk dan mengonfigurasi pemilih Gateway agar satu gerbang Istio berlaku untuk beberapa gerbang masuk.

Cara kerja pemilih gerbang

Resource Gateway menggunakan spec.selector untuk mencocokkan label pada Pod gerbang masuk. Setiap gerbang masuk yang Pod-nya memiliki label yang sesuai akan menerima konfigurasi Gateway tersebut.

Sebagai contoh, jika dua Penerapan gerbang masuk keduanya memiliki label key1: value1, maka Gateway dengan selector: {key1: value1} akan berlaku untuk keduanya:

Rekaman A DNS (xxx.xxx.cn)
  |-- Instans CLB 1  -->  Gerbang masuk 1  --\
  |                                              +-->  Gateway (selector: key1: value1)  -->  VirtualService
  \-- Instans CLB 2  -->  Gerbang masuk 2  --/
Resource Gateway hanya mengonfigurasi proxy agar mendengarkan pada Port tertentu (Lapisan 4–6). Resource ini tidak menentukan aturan routing Lapisan 7. Untuk mengarahkan traffic ke layanan backend, bind gerbang tersebut ke virtual service. Untuk detail referensi, lihat dokumentasi Istio mengenai Gateway dan VirtualService.

Prasyarat

Sebelum memulai, pastikan Anda telah:

Langkah 1: Tambahkan label bersama ke setiap gerbang masuk

Tambahkan label yang sama ke setiap gerbang masuk yang harus berbagi gerbang Istio.

  1. Masuk ke Konsol ASM. Di panel navigasi sebelah kiri, pilih Service Mesh > Mesh Management.

  2. Di halaman Mesh Management, klik nama instans ASM.

  3. Di panel navigasi sebelah kiri, pilih ASM Gateways > Ingress Gateway.

  4. Di halaman Ingress Gateway, temukan gerbang masuk pertama lalu klik YAML.

  5. Pada dialog Edit, tambahkan bidang podLabels di bawah spec, lalu klik OK.

       ...
       spec:
         podLabels:
           key1: value1
       ...
  6. Ulangi langkah 4–5 untuk setiap gerbang masuk tambahan yang harus berbagi gerbang Istio yang sama.

Verifikasi label

Jalankan perintah berikut untuk memastikan bahwa Pod setiap gerbang masuk memiliki label yang diharapkan:

kubectl get pods -n istio-system --show-labels | grep <ingress-gateway-name>

Ganti <ingress-gateway-name> dengan nama Penerapan gerbang masuk Anda. Output harus menyertakan key1=value1 di kolom label. Contoh output:

ingress-gateway-1-xxx   1/1   Running   0   2d   app=istio-ingressgateway,key1=value1,...

Langkah 2: Konfigurasikan pemilih Gateway

Arahkan gerbang Istio ke gerbang masuk berlabel dengan menyetel spec.selector ke label yang sama.

  1. Di halaman detail instans ASM, pilih ASM Gateways > Gateway di panel navigasi sebelah kiri.

  2. Di halaman Gateway, temukan gerbang Istio target lalu klik YAML di kolom Actions.

  3. Pada dialog Edit, atur bidang selector agar sesuai dengan label yang ditambahkan di Langkah 1, lalu klik OK. Karena kedua gerbang masuk kini memiliki key1: value1, resource Gateway tunggal ini berlaku untuk keduanya.

       apiVersion: networking.istio.io/v1beta1
       kind: Gateway
       metadata:
         name: bookinfo-gateway
         namespace: default
       spec:
         selector:
           key1: value1
         servers:
           - hosts:
               - '*'
             port:
               name: http
               number: 80
               protocol: HTTP

Verifikasi binding Gateway

Jalankan perintah berikut untuk memastikan resource Gateway dikonfigurasi dengan benar:

kubectl get gateway bookinfo-gateway -n default -o yaml

Periksa apakah spec.selector menampilkan key1: value1 dan spec.servers mencantumkan Port dan protokol yang diharapkan. Contoh output:

apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata:
  name: bookinfo-gateway
  namespace: default
spec:
  selector:
    key1: value1
  servers:
  - hosts:
    - '*'
    port:
      name: http
      number: 80
      protocol: HTTP

Langkah selanjutnya

Resource Gateway hanya mengonfigurasi Pendengar. Untuk mengarahkan traffic ke layanan backend, buat virtual service yang mereferensikan gerbang ini. Lihat Kelola virtual service.

Untuk detail mengenai bidang CRD Gateway dan gerbang masuk, lihat Bidang CRD untuk gerbang ASM.

Topik terkait