Aturan penerusan untuk Cloud Service Mesh

Dokumen ini hanya berlaku untuk Cloud Service Mesh dengan API load balancing. Kami sangat menyarankan Anda menggunakan API pemilihan rute layanan untuk men-deploy Cloud Service Mesh.

Cloud Service Mesh menggunakan aturan penerusan untuk menentukan proxy target yang menjadi tujuan perutean traffic dalam mesh.

Setiap aturan penerusan menyediakan satu alamat IPv4 global untuk sebuah layanan. Anda dapat menggunakan alamat tersebut untuk membuat data DNS internal untuk layanan Anda (misalnya, dengan menggunakan zona pribadi terkelola Cloud DNS). Filter metadata di aturan penerusan menentukan kriteria yang akan digunakan oleh proxy file bantuan yang sesuai dengan XDS untuk menerima konfigurasi.

Untuk bidang kontrol Cloud Service Mesh, aturan penerusan internal, yang dikelola sendiri, dan global merutekan traffic menurut alamat IP, port, dan protokol ke proxy target. Proxy target mengarah ke peta URL yang berisi aturan yang menentukan tujuan traffic. Peta URL juga menentukan layanan backend default. Layanan backend ini menentukan health check dan menentukan backend yang sesuai, seperti grup instance terkelola (MIG) yang berisi instance virtual machine (VM) atau grup endpoint jaringan (NEG) yang berisi Pod backend Google Kubernetes Engine (GKE).

Diagram berikut menunjukkan kesesuaian aturan penerusan dengan arsitektur Cloud Service Mesh.

Aturan penerusan Cloud Service Mesh ditandai.
Aturan penerusan Cloud Service Mesh ditandai (klik untuk memperbesar)

Properti aturan penerusan

Resource aturan penerusan berisi properti berikut yang berlaku untuk Cloud Service Mesh. Aturan penerusan menangani traffic yang sesuai dengan alamat IP, protokol, dan nomor port tujuan.

Alamat IP 0.0.0.0 dalam aturan penerusan adalah salah satu opsi saat menggunakan Cloud Service Mesh. Alamat IP 0.0.0.0 berarti semua alamat IP.

  • Dengan deployment proxy, alamat IP 0.0.0.0 memungkinkan proxy cocok dengan traffic masuk jika tidak ada kecocokan spesifik lainnya yang ditemukan.

  • Dengan deployment tanpa proxy, alamat IP 0.0.0.0 menyediakan cara untuk menentukan bahwa alamat IP tidak diperlukan. Berikut detail selengkapnya tentang penggunaan alamat IP 0.0.0.0 dengan proxy gRPC target.

Tabel berikut menjelaskan properti aturan penerusan secara lebih mendetail.

Properti Diperlukan Deskripsi
name

Nama aturan penerusan.

Nama harus unik dalam project ini, mulai dari 1 hingga 63 karakter, dan cocok dengan ekspresi reguler: [a-z]([-a-z0-9]*[a-z0-9])?

Artinya, karakter pertama harus berupa huruf kecil, dan semua karakter berikutnya harus berupa tanda hubung, huruf kecil, atau angka, kecuali karakter terakhir, yang tidak boleh berupa tanda hubung.

IPAddress

Salah satu dari berikut: 0.0.0.0 atau 127.0.0.1, atau alamat RFC 1918 apa pun.

Alamat IP untuk aturan penerusan Cloud Service Mesh tidak perlu berkaitan dengan rentang alamat IP subnet di jaringan Virtual Private Cloud (VPC). Untuk jaringan VPC, alamat IP, dan port tertentu, Anda hanya dapat memiliki satu aturan penerusan internal yang dikelola sendiri.

Misalnya, dalam jaringan VPC yang sama, Anda tidak dapat membuat dua aturan penerusan yang menggunakan alamat IP 0.0.0.0 dan port 80.

IPAddress dengan proxy gRPC target

Aturan penerusan yang merujuk ke proxy gRPC target dengan kolom validateForProxyless ditetapkan ke TRUE dan alamat IP-nya ditetapkan ke 0.0.0.0.

Klien gRPC yang menggunakan skema xds tidak melakukan pencarian DNS untuk me-resolve nama host di URI saluran. Sebagai gantinya, klien tersebut me-resolve hostname[:port] dalam URI target dengan mengirimkan permintaan Layanan penemuan pemroses (LDS) ke Cloud Service Mesh. Tidak ada pencarian DNS, dan entri DNS untuk nama host tidak diperlukan.

Akibatnya, Cloud Service Mesh menggunakan alamat IP 0.0.0.0 dan port (default 80) yang ditentukan dalam URI untuk mencari aturan penerusan. Kemudian, Cloud Service Mesh akan mencari aturan host yang cocok di peta URL proxy target yang dirujuk oleh aturan penerusan.

target

Proxy target yang menjadi tujuan pengalihan traffic oleh aturan penerusan ini. Cloud Service Mesh mendukung target-http-proxy, target-https-proxy, dan target-grpc-proxy.

Saat Anda menggunakan konsol Google Cloud untuk mengonfigurasi aturan penerusan, proxy target akan dikonfigurasi secara otomatis. Saat Anda menggunakan Google Cloud CLI atau API, proxy target harus ada sebelum Anda membuat aturan penerusan. Anda dapat menggunakan lebih dari satu aturan penerusan dengan proxy yang diberikan.

IPProtocol Jenis protokol yang cocok dengan aturan penerusan ini. Satu-satunya nilai yang didukung adalah TCP.
loadBalancingScheme Menentukan cara aturan penerusan digunakan. Nilai yang valid untuk Cloud Service Mesh adalah INTERNAL_SELF_MANAGED.
portRange

Port atau rentang port yang digabungkan dengan tanda hubung.

Paket protokol yang ditentukan yang dikirim ke port ini akan diteruskan ke backend yang sesuai. Anda dapat menentukan satu angka rentang—misalnya, 80 atau 80-8080.

Untuk jaringan VPC, alamat IP, dan port tertentu, Anda hanya dapat memiliki satu aturan penerusan internal yang dikelola sendiri. Misalnya, dalam jaringan VPC yang sama, Anda tidak dapat membuat dua aturan penerusan yang menggunakan alamat IP 0.0.0.0 dan port 80.

Dengan layanan gRPC tanpa proxy, port dalam aturan penerusan cocok dengan port yang ditentukan dalam URI yang digunakan aplikasi gRPC untuk terhubung ke layanan. Jika port tidak ditentukan dalam URI, maka 80 adalah port default.

network

Menentukan jaringan VPC tempat VM Google Cloud yang menjalankan proxy Envoy berada.

Proxy Envoy membaca konfigurasi Cloud Service Mesh yang Anda tentukan untuk jaringan yang sama tempat proxy di-deploy. Anda dapat menggunakan jaringan VPC bernama default atau jaringan kustom.

Cloud Service Mesh mendukung load balancing untuk klien hanya dalam jaringan Google Cloud. Anda menentukan nama jaringan di aturan penerusan. Peering Jaringan VPC tidak didukung.

Tambahkan aturan penerusan global

Untuk mempelajari cara mengonfigurasi aturan penerusan dalam keseluruhan penyiapan Cloud Service Mesh dengan API load balancing, lihat artikel berikut:

Langkah selanjutnya