All Products
Search
Document Center

Alibaba Cloud Service Mesh:Mengelola gerbang Istio

Last Updated:Mar 12, 2026

Ketika layanan dalam mesh Anda perlu menerima traffic eksternal, gerbang Istio berfungsi sebagai titik masuk. Gerbang ini merupakan load balancer di tepi instans Service Mesh (ASM) yang menerima koneksi HTTP/TCP inbound atau outbound, mengontrol port, protokol, dan host yang diekspos sebelum traffic mencapai layanan backend melalui VirtualService.

Cara kerja gerbang

Gerbang beroperasi pada lapisan L4–L6 stack jaringan dan mendefinisikan:

  • Port dan protokol yang akan didengarkan (HTTP, HTTPS, TCP)

  • Host yang menerima traffic (domain tertentu atau wildcard)

  • Pengaturan TLS untuk koneksi terenkripsi

Gerbang saja tidak cukup untuk mengarahkan traffic ke layanan. Anda harus mengikat VirtualService ke gerbang tersebut agar traffic dapat diteruskan ke layanan backend tertentu. Untuk spesifikasi API lengkap, lihat Gateway.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

Buat gerbang Istio

Opsi 1: Gunakan Konsol ASM

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

  2. Pada halaman Mesh Management, klik nama instans ASM. Di panel navigasi sebelah kiri, pilih ASM Gateways > Gateway. Pada halaman yang muncul, klik Create.

  3. Pada halaman Create, konfigurasikan parameter gerbang lalu klik Create. Untuk deskripsi bidang, lihat atau Gateway.

    Configuration example

Opsi 2: Gunakan file YAML

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

  2. Pada halaman Mesh Management, klik nama instans ASM. Di panel navigasi sebelah kiri, pilih ASM Gateways > Gateway. Pada halaman yang muncul, klik Create from YAML.

  3. Pada halaman Create, pilih namespace dari daftar drop-down Namespace, pilih templat dari daftar drop-down Template, ubah konfigurasi di editor kode YAML, lalu klik Create.

Bidang utama

Tabel berikut mencantumkan bidang yang umum dikonfigurasi. Untuk referensi API lengkap, lihat Gateway.

FieldDescription
spec.selectorLabel selector yang menentukan pod gerbang mana yang menangani konfigurasi ini. Biasanya istio: ingressgateway.
spec.servers[].port.numberNomor port yang akan didengarkan.
spec.servers[].port.protocolJenis protokol, seperti HTTP, HTTPS, atau TCP.
spec.servers[].port.nameLabel untuk port tersebut.
spec.servers[].hostsHost yang diekspos pada port ini. Tentukan * untuk mencocokkan semua host, atau cantumkan domain tertentu seperti example.com.
spec.servers[].tls.modeMode TLS, seperti SIMPLE atau MUTUAL.
spec.servers[].tls.credentialNameNama rahasia Kubernetes yang berisi sertifikat dan kunci TLS.

Contoh YAML

Gerbang HTTP

Ekspos port 80 untuk semua host dan alihkan traffic HTTP ke HTTPS:

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: http-gateway
  namespace: default
spec:
  selector:
    istio: ingressgateway
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - "*.example.com"
    tls:
      httpsRedirect: true

Gerbang HTTPS dengan TLS

Akhiri TLS pada port 443 menggunakan rahasia Kubernetes:

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: https-gateway
  namespace: default
spec:
  selector:
    istio: ingressgateway
  servers:
  - port:
      number: 443
      name: https
      protocol: HTTPS
    hosts:
    - "bookinfo.example.com"
    tls:
      mode: SIMPLE
      credentialName: bookinfo-tls-secret

Gerbang multi-port

Ekspos listener HTTP, HTTPS, dan wildcard pada port berbeda:

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: my-gateway
  namespace: some-config-namespace
spec:
  selector:
    istio: ingressgateway
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - test1.com
    - test2.com
    tls:
      httpsRedirect: true
  - port:
      number: 443
      name: https-443
      protocol: HTTPS
    hosts:
    - uk.bookinfo.com
    - eu.bookinfo.com
    tls:
      mode: SIMPLE
      serverCertificate: /etc/certs/servercert.pem
      privateKey: /etc/certs/privatekey.pem
  - port:
      number: 9443
      name: https-9443
      protocol: HTTPS
    hosts:
    - "bookinfo-namespace/*.bookinfo.com"
    tls:
      mode: SIMPLE
      credentialName: bookinfo-secret
  - port:
      number: 9080
      name: http-wildcard
      protocol: HTTP
    hosts:
    - "*"

Gerbang ini mengekspos port 80, 443, 9443, dan 9080. Gerbang ini berlaku untuk pod yang memiliki label istio: ingressgateway.

Ubah gerbang Istio

  1. Pada halaman Gateway, temukan gerbang Istio yang dituju lalu klik YAML di kolom Actions.

  2. Pada kotak dialog Edit, ubah konfigurasi sesuai kebutuhan bisnis Anda lalu klik OK.

Kembalikan gerbang Istio ke versi sebelumnya

  1. Pada halaman Gateway, temukan gerbang Istio yang dituju lalu klik Version di kolom Actions.

  2. Pada kotak dialog Version, klik Rollback untuk memulihkan versi sebelumnya.

Untuk informasi selengkapnya, lihat Roll back an Istio resource to an earlier version.

Hapus gerbang Istio

Penting

Setelah Anda menghapus gerbang Istio, aturan routing traffic terkait tidak lagi berfungsi. Akibatnya, layanan mungkin menjadi tidak dapat diakses. Lakukan operasi ini dengan hati-hati.

  1. Pada halaman Gateway, temukan gerbang Istio yang dituju lalu klik Delete di kolom Actions.

  2. Pada pesan Submit, klik OK.