Ingress gateway menyediakan titik masuk Lapisan 7 yang terpadu dan mengarahkan permintaan HTTP dari port TCP yang sama ke layanan Kubernetes yang berbeda berdasarkan konten permintaan. Anda dapat mengaitkan satu gerbang Istio dengan beberapa ingress gateway dalam instans Service Mesh (ASM) sehingga semuanya berbagi konfigurasi gerbang yang sama, mengurangi duplikasi pekerjaan konfigurasi.
Prasyarat
-
Instans ASM versi 1.13.4.46 atau lebih baru telah dibuat. Untuk petunjuknya, lihat Create an ASM instance.
-
Setidaknya dua ingress gateway telah dideploy. Untuk petunjuknya, lihat Create an ingress gateway.
Aplikasi telah dideploy di kluster yang ditambahkan ke instans ASM. Untuk informasi selengkapnya, lihat Deploy an application to an ASM-associated cluster.
Informasi latar belakang
Bidang spec.selector pada resource Gateway memilih ingress gateway yang dikaitkan dengan gerbang Istio: ingress gateway yang label-nya sesuai dengan selector tersebut akan dipilih. Untuk berbagi satu gerbang Istio di antara beberapa ingress gateway, gunakan bidang podLabels untuk menerapkan label yang sama pada setiap ingress gateway tersebut. Kemudian, tentukan label tersebut di bidang spec.selector pada Gateway.
Pada contoh ini, dua Rekaman A dikonfigurasi untuk Nama domain example.com. Kedua Rekaman A tersebut dipetakan ke dua instans Classic Load Balancer (CLB), dan setiap instans CLB dikaitkan dengan satu ingress gateway di instans ASM. Kedua ingress gateway tersebut memerlukan gerbang Istio yang sama, sehingga Anda mengaitkan gerbang Istio tersebut dengan ingress gateway agar konfigurasinya konsisten.
Gateway hanya mengonfigurasi port tempat proxy mendengarkan. Anda juga harus mengonfigurasi VirtualService untuk menentukan aturan routing traffic.
Untuk informasi selengkapnya tentang bidang-bidang ingress gateway dan Gateway, lihat CRD fields for an ASM gateway dan Gateway.
Prosedur
Langkah-langkah berikut menggunakan label key1: value1 untuk kedua ingress gateway dan Gateway.
-
Masuk ke ASM console. Di panel navigasi sebelah kiri, pilih .
-
Di halaman Mesh Management, klik nama instans ASM. Di panel navigasi sebelah kiri, pilih .
-
Di halaman Ingress Gateway, temukan salah satu ingress gateway target dan klik View YAML di kolom Actions.
-
Di kotak dialog Edit, konfigurasikan bidang
podLabelsdan klik OK.... spec: podLabels: key1: value1 ...Ulangi proses ini untuk semua ingress gateway target lainnya: tampilkan YAML masing-masing ingress gateway dan konfigurasikan label
podLabelsyang sama. -
Kaitkan gerbang Istio dengan ingress gateway.
-
Di halaman detail instans ASM, pilih di panel navigasi sebelah kiri.
-
Di halaman Gateway, temukan Gateway target dan klik View YAML di kolom Operator.
-
Di kotak dialog Edit, konfigurasikan bidang
selectordan klik OK.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
Untuk menentukan cara ingress gateway mengarahkan permintaan ke layanan Kubernetes, konfigurasikan VirtualService. Untuk informasi selengkapnya tentang bidang-bidang VirtualService, lihat VirtualService. Untuk petunjuknya, lihat Manage virtual services.