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:

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