Ringkasan peta aturan pemilihan rute
Dokumen ini hanya berlaku untuk Cloud Service Mesh dengan API load balancing. Sebaiknya gunakan API pemilihan rute layanan.
Peta aturan pemilihan rute terdiri dari hal berikut:
- Aturan penerusan yang mereferensikan proxy target
- Proxy target yang mereferensikan peta URL
- Peta URL yang berisi berbagai aturan perutean
Saat Anda membuat dan mengonfigurasi resource tersebut untuk Cloud Service Mesh, Cloud Service Mesh akan menggunakan nilai tersebut untuk membuat konfigurasi yang dikirimkan ke bidang data Anda, yang mencakup klien xDS seperti proxy Envoy dan aplikasi gRPC tanpa proxy. Bidang data kemudian menangani lalu lintas data sesuai dengan konfigurasi ini.
Aturan penerusan mereferensikan proxy target, serta 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 sumber daya ini digabungkan untuk
membentuk peta aturan perutean.
Aturan penerusan yang merujuk ke 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 pemilihan rute 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:
- Target proxy HTTP, yang Anda konfigurasi saat klien dan server Anda mengirim atau menerima traffic HTTP atau HTTP/2.
- Target proxy HTTPS, yang Anda konfigurasi saat klien dan server mengirim atau menerima traffic HTTPS. Hal ini diperlukan saat Anda menyiapkan keamanan layanan dengan proxy Envoy.
- Target proxy TCP, yang Anda konfigurasi saat klien dan server mengirim atau menerima traffic TCP.
- Target proxy gRPC, yang Anda konfigurasi saat klien dan server Anda 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 file bantuan Envoy
Saat Anda menggunakan Cloud Service Mesh dengan proxy file bantuan Envoy, permintaan klien akan dirutekan sebagai berikut:
- Stack jaringan mencegat permintaan dan mengalihkannya ke proxy file bantuan Envoy Anda.
- Proxy file bantuan Envoy melihat alamat IP dan port permintaan.
- Pasangan port dan alamat IP diperiksa berdasarkan alamat IP dan port yang ditentukan dalam aturan penerusan yang skema load balancingnya ditetapkan ke
INTERNAL_SELF_MANAGED
. - Jika ditemukan aturan penerusan dengan port dan alamat IP yang cocok, 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.
Perutean 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 sebagai berikut:
- Cloud Service Mesh mencari aturan penerusan dengan skema load balancing yang ditetapkan ke
INTERNAL_SELF_MANAGED
untuk menemukan aturan penerusan yang portnya 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 ini atau proxy HTTP target.
- 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 perutean dan informasi layanan ke klien gRPC.
Jika ditemukan lebih dari satu kecocokan, perilaku tersebut tidak ditentukan dan dapat menyebabkan perilaku yang tidak dapat diprediksi. Hal ini umumnya 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.
Karena alasan ini, sebaiknya Anda tidak menggunakan kembali nama host yang sama di beberapa peta URL yang dirujuk 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.