Ringkasan peta aturan perutean
Dokumen ini hanya berlaku untuk Cloud Service Mesh dengan API load balancing. Sebaiknya Anda menggunakan API pemilihan rute layanan.
Peta aturan perutean terdiri dari hal berikut:
- Aturan penerusan yang mereferensikan proxy target
- Proxy target yang mereferensikan peta URL
- Peta URL yang berisi berbagai aturan pemilihan rute
Saat Anda membuat dan mengonfigurasi resource ini untuk Cloud Service Mesh, Cloud Service Mesh menggunakan nilai tersebut untuk membuat konfigurasi yang dikirim ke bidang data Anda, yang mencakup klien xDS seperti proxy Envoy dan aplikasi gRPC tanpa proxy. Kemudian, bidang data menangani traffic sesuai dengan konfigurasi ini.
Aturan penerusan mereferensikan proxy target, dan memiliki alamat IP dan port.
Untuk deployment Cloud Service Mesh, skema load balancing aturan penerusan harus ditetapkan ke INTERNAL_SELF_MANAGED
. Proxy target, pada gilirannya,
mereferensikan peta URL. Ketiga resource ini digabungkan untuk membentuk peta aturan perutean.
Aturan penerusan yang mereferensikan proxy gRPC target dengan kolom validateForProxyless
yang ditetapkan ke TRUE
harus memiliki alamat IP yang ditetapkan ke 0.0.0.0
. Jika validateForProxyless
disetel ke TRUE
, konfigurasi yang menentukan alamat IP selain 0.0.0.0
akan ditolak.
Peta aturan perutean menentukan cara traffic diteruskan dari klien ke server di dalam mesh layanan.
Jenis proxy target yang didukung
Cloud Service Mesh mendukung jenis proxy target berikut:
- Proxy HTTP target, yang Anda konfigurasi saat klien dan server mengirim atau menerima traffic HTTP atau HTTP/2.
- Proxy HTTPS target, yang Anda konfigurasi saat klien dan server mengirim atau menerima traffic HTTPS. Hal ini diperlukan saat Anda menyiapkan keamanan layanan dengan proxy Envoy.
- Proxy TCP target, yang Anda konfigurasi saat klien dan server mengirim atau menerima traffic TCP.
- Target proxy gRPC, yang Anda konfigurasi saat klien dan server mengirim
atau menerima traffic gRPC. Proxy gRPC target berisi kolom
validateForProxyless
, yang ditetapkan keTRUE
saat Anda men-deploy layanan gRPC tanpa proxy.
Pemilihan rute traffic dengan proxy sidecar Envoy
Saat Anda menggunakan Cloud Service Mesh dengan proxy sidecar Envoy, permintaan klien akan dirutekan sebagai berikut:
- Stack jaringan menangkap permintaan dan mengalihkan permintaan tersebut ke proxy sidecar Envoy Anda.
- Proxy sidecar Envoy melihat alamat IP dan port permintaan.
- Pasangan alamat IP dan port diperiksa berdasarkan alamat IP dan port
yang ditentukan dalam aturan penerusan apa pun yang memiliki skema load balancing yang ditetapkan ke
INTERNAL_SELF_MANAGED
. - Jika aturan penerusan dengan alamat IP dan port yang cocok ditemukan, Envoy akan melihat proxy HTTP target atau proxy gRPC target yang dirujuk oleh aturan penerusan.
- Envoy memeriksa peta URL yang dirujuk oleh proxy target.
- Envoy merutekan permintaan sesuai dengan aturan yang ditentukan dalam peta URL.
Untuk mengetahui informasi tentang cara traffic dirutekan dengan proxy TCP target, lihat Merutekan traffic TCP dengan Cloud Service Mesh.
Pemilihan rute traffic dengan aplikasi gRPC tanpa proxy
Perilaku ini berbeda untuk aplikasi gRPC tanpa proxy. Saat mengonfigurasi klien gRPC, Anda menentukan URI target untuk layanan yang perlu dihubungi klien. URI ini menggunakan skema resolver nama xds
dan
format hostname:port
—misalnya xds:///example.hostname:8080
.
Saat klien gRPC tanpa proxy terhubung ke Cloud Service Mesh, Cloud Service Mesh akan mengirimkan informasi yang sesuai dengan layanan tersebut sebagai berikut:
- Cloud Service Mesh mencari aturan penerusan dengan skema load balancing yang ditetapkan ke
INTERNAL_SELF_MANAGED
untuk menemukan aturan penerusan yang port-nya cocok dengan port yang ditentukan dalam URI target. - Cloud Service Mesh menemukan proxy gRPC target atau proxy HTTP target untuk setiap aturan penerusan ini.
- Cloud Service Mesh menemukan peta URL yang dirujuk oleh proxy gRPC target atau proxy HTTP target ini.
- Cloud Service Mesh memeriksa aturan host di peta URL, yang juga memiliki
format
hostname[:port]
, dan mencari kecocokan. - Jika kecocokan ditemukan, Cloud Service Mesh akan menampilkan aturan pemilihan rute dan informasi layanan ke klien gRPC.
Jika lebih dari satu kecocokan ditemukan, perilaku tidak ditentukan dan dapat menyebabkan perilaku yang tidak dapat diprediksi. Hal ini biasanya terjadi jika kedua kondisi berikut terpenuhi:
- Nama host yang sama digunakan di beberapa peta URL.
- Beberapa aturan penerusan dengan skema load balancing
INTERNAL_SELF_MANAGED
menentukan port yang sama.
Oleh karena itu, sebaiknya jangan gunakan kembali nama host yang sama di beberapa peta URL yang direferensikan oleh aturan penerusan yang menentukan port yang sama.
Langkah selanjutnya
Untuk mendapatkan kontrol terperinci atas cara penanganan traffic, lihat Ringkasan pengelolaan traffic lanjutan.
Untuk mempelajari Cloud Service Mesh lebih lanjut, lihat ringkasan Cloud Service Mesh.