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:

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 ke TRUE 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