Aturan penerusan untuk Cloud Service Mesh

Dokumen ini hanya berlaku untuk Cloud Service Mesh dengan API load balancing. Sebaiknya gunakan API pemilihan rute layanan untuk men-deploy Cloud Service Mesh.

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

Setiap aturan penerusan menyediakan satu alamat IPv4 global untuk layanan. Anda dapat menggunakan alamat tersebut untuk membuat data DNS internal untuk layanan Anda (misalnya, dengan menggunakan zona pribadi terkelola Cloud DNS). Filter metadata dalam aturan penerusan menentukan kriteria yang digunakan proxy sidecar yang sesuai dengan xDS untuk menerima konfigurasi.

Untuk bidang kontrol Cloud Service Mesh, aturan penerusan internal, 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 cara aturan penerusan sesuai 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 cocok 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 alamat IP apa pun.

  • Dengan deployment proxy, alamat IP 0.0.0.0 memungkinkan proxy mencocokkan 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 Wajib Deskripsi
name

Nama aturan penerusan.

Nama harus unik dalam project ini, 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 pisah, huruf kecil, atau angka, kecuali karakter terakhir, yang tidak boleh berupa tanda pisah.

IPAddress

Salah satu dari berikut ini: 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 sesuai dengan rentang alamat IP subnet di jaringan Virtual Private Cloud (VPC). Untuk jaringan, alamat IP, dan port VPC 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 mereferensikan 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] di URI target dengan mengirimkan permintaan Layanan penemuan pemroses (LDS) ke Cloud Service Mesh. Tidak ada pencarian DNS yang terlibat, dan entri DNS untuk nama host tidak diperlukan.

Oleh karena itu, Cloud Service Mesh menggunakan alamat IP 0.0.0.0 dan port (80 default) 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 dituju 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 tertentu.

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

Port atau rentang port yang dipisahkan oleh tanda pisah.

Paket protokol yang ditentukan yang dikirim ke port ini akan diteruskan ke backend yang sesuai. Anda dapat menentukan satu angka dari 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 akan dicocokkan dengan port yang ditentukan dalam URI yang digunakan aplikasi gRPC untuk terhubung ke layanan. Jika port tidak ditentukan dalam URI, 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 hanya mendukung load balancing untuk klien dalam jaringan Google Cloud. Anda menentukan nama jaringan dalam aturan penerusan. Peering Jaringan VPC tidak didukung.

Tambahkan aturan penerusan global

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

Langkah selanjutnya