Ringkasan mesh layanan Cloud Service Mesh GKE

Konfigurasi ini didukung untuk pelanggan Pratinjau tetapi kami tidak merekomendasikan untuk pengguna Cloud Service Mesh baru. Untuk informasi selengkapnya, lihat Ringkasan Cloud Service Mesh.

Dokumen ini ditujukan untuk pengguna Google Kubernetes Engine yang ingin men-deploy Mesh layanan Cloud Service Mesh menggunakan Kubernetes Gateway API.

Anda dapat mengonfigurasi Cloud Service Mesh untuk GKE menggunakan Kubernetes Gateway API, yang memungkinkan komunikasi antarlayanan, traffic pengelolaan data, load balancing global, dan penerapan kebijakan keamanan untuk layanan kasus penggunaan mesh.

Kubernetes API dan Google Cloud API

Anda dapat mengonfigurasi mesh layanan Cloud Service Mesh menggunakan dua API yang berbeda:

Dokumen ini dan panduan penyiapan terkait memberikan petunjuk untuk menggunakan Kubernetes Gateway API untuk mengonfigurasi Mesh layanan Cloud Service Mesh.

Sebaiknya gunakan Kubernetes Gateway API tentang Google Kubernetes Engine dan sebaiknya jangan gunakan kedua API tersebut untuk mengonfigurasi perutean dalam mesh layanan yang sama di GKE.

API pemilihan rute layanan menggunakan nama resource yang sama dengan Kubernetes Gateway API, sehingga akan memudahkan Anda saat menggunakan kedua API tersebut. Kubernetes resource yang Anda konfigurasi secara fungsional setara dengan resource yang diwakili oleh API pemilihan rute layanan untuk Cloud Service Mesh.

Bagian berikut ini menjelaskan resource dan arsitektur yang digunakan oleh Integrasi Cloud Service Mesh dengan Kubernetes Gateway API.

API Gateway

Gateway API adalah kumpulan resource yang digunakan untuk memodelkan jaringan layanan Kubernetes. Kubernetes Gateway API adalah project open source yang berfokus untuk mendukung traffic masuk dan load balancer yang berbeda dengan menyediakan API pemilihan rute generik. Generic routing API memiliki banyak implementasi yang tepat. Definisi resource kustom (CRD) Cloud Service Mesh ditambahkan sebagai ekstensi untuk Gateway API open source. Mesh layanan dukungan CRD yang berbeda dan menggunakan API perutean generik yang sama seperti yang Compute Engine API.

Gateway API diatur secara hierarkis, dengan resource induk Gateway GatewayClass yang terkait, tempat Anda melampirkan rute. GKE mencakup resource TDMesh yang merupakan pembanding dari resource Gateway. Anda dapat melampirkan jenis Route yang sama ke resource TDMesh. Resource TDMesh tempat Anda memasang rute dan kebijakan untuk mesh layanan.

Gateway API, Resource Gateway, resource Mesh, dan Rute
Gateway API, Gateway resource, Mesh resource, dan Routes (klik untuk memperbesar)

Fleet

Sebuah Fleet terdiri dari satu atau beberapa cluster GKE yang dikelompokkan secara logis. Armada memungkinkan Anda mengelola kemampuan dan menerapkan kebijakan secara konsisten di berbagai klaster. Saat menggunakan fleet, Anda dapat mengelola mesh layanan Cloud Service Mesh yang mencakup beberapa cluster.

Arsitektur

Cloud Service Mesh mendukung Gateway API di GKE dengan memprogram cluster Anda bidang data untuk menerapkan perilaku jaringan yang ditentukan dalam resource Gateway API. Cloud Service Mesh sendiri merupakan bidang kontrol yang tidak memproses lalu lintas data bidang apa pun. Proxy Envoy berjalan sebagai file bantuan untuk workload Anda atau klien gRPC tanpa proxy memproses traffic dalam bidang data. Cloud Service Mesh mengonfigurasi proxy Envoy dan tanpa proxy gRPC melalui API xDSv3.

Cloud Service Mesh menawarkan solusi bidang kontrol yang terkelola dan tersedia secara global yang lebih tangguh dan skalabel daripada menjalankan pengontrol dalam cluster. Karena adalah solusi global, Cloud Service Mesh dapat melakukan load balancing traffic di yang terdistribusi di berbagai cluster GKE. Di kolom ilustrasi berikut, Cloud Service Mesh mengelola traffic ke layanan dalam tiga dalam satu fleet, menggunakan resource Gateway API.

Mesh layanan multi-cluster Cloud Service Mesh yang dikonfigurasi menggunakan Gateway API
Mesh layanan multi-cluster Cloud Service Mesh yang dikonfigurasi menggunakan Gateway API (klik untuk memperbesar)

Anda menetapkan satu cluster di fleet sebagai config cluster. Cluster konfigurasi adalah tempat penyimpanan resource Gateway API. Mesh Layanan Cloud hanya mengawasi resource yang ada di cluster konfigurasi, dan mengabaikan resource yang ada di klaster lain. Lihat Konfigurasi desain cluster di dokumentasi GKE untuk informasi lebih mendetail tentang konfigurasi .

Dengan GKE Layanan multi-cluster, Resource Gateway API di cluster konfigurasi dapat merujuk layanan Kubernetes dalam gugus apa pun dalam suatu armada. Lihat Layanan Multi-cluster untuk mengetahui informasi selengkapnya tentang Penemuan Layanan Multi-Cluster.

Resource

Cloud Service Mesh mendukung proxy Envoy dan gRPC tanpa proxy dalam data bidang mesh layanan. Kedua klien menerima konfigurasi dari Cloud Service Mesh untuk mesh layanan tertentu, dengan menentukan nama dan nomor project resource TDMesh yang sesuai dalam bootstrap masing-masing konfigurasi Anda. Panduan penyiapan untuk Cloud Service Mesh dengan Kubernetes Gateway API memberikan konfigurasi bidang data demonstrasi dengan Envoy dan gRPC tanpa proxy.

Resource TDMesh

Tujuan Referensi TDMesh adalah resource kustom Cloud Service Mesh. Ini adalah ekstensi untuk {i>open source<i} Gateway API untuk mendukung kasus penggunaan mesh layanan Cloud Service Mesh. Menggunakan untuk resource TDMesh, buat instance mesh layanan di fleet Anda. Rute yang dilampirkan ke resource TDMesh untuk menentukan perilaku pemilihan rute layanan-ke-layanan di mesh layanan.

Route materi

Sebuah sub set dari Rute Gateway API resource dapat disertakan ke resource TDMesh untuk menentukan perutean tingkat layanan dalam mesh layanan. Cloud Service Mesh mendukung Route berikut referensi:

  • HTTPRoute
  • TCPRoute
  • TDGRPCRoute (resource kustom Cloud Service Mesh)

Misalnya, Anda dapat membuat HTTPRoute untuk menentukan bahwa permintaan HTTP yang ditujukan untuk menghosting payments.svc.internal dirutekan ke layanan Kubernetes service-payments. Saat Anda melampirkan resource HTTPRoute ke resource TDMesh langganan instance bidang data, permintaan HTTP yang dikirim oleh workload dalam {i>mesh<i} akan diarahkan dengan benar.

Rilis ini meningkatkan resource Route generik di Gateway API dengan jenis rute baru, TDGRPCRoute. Jenis rute baru menyediakan rute untuk merutekan permintaan gRPC, dengan mencocokkan primitif gRPC native, seperti definisi metode dan layanan.

Menggunakan resource Gateway API di GKE untuk mengonfigurasi Cloud Service Mesh
Menggunakan resource Gateway API di GKE untuk mengonfigurasi Cloud Service Mesh (klik untuk memperbesar)

Batasan

  • Cloud Service Mesh mengonfigurasi perilaku default berikut untuk semua Layanan Kubernetes di mesh layanan. Anda tidak dapat mengubahnya perilaku model.
    • Health check TCP dikonfigurasi pada porta layanan yang dirujuk oleh resource Route Gateway API.
    • Durasi default 30 detik waktu tunggu dikonfigurasi untuk semua permintaan yang masuk ke layanan.
    • Minat sesi dinonaktifkan.
  • Tujuan Injeksi otomatis Envoy hanya mendukung satu mesh per fleet.
  • Fitur keamanan Cloud Service Mesh tidak dapat diaktifkan menggunakan Gateway API.
  • Anda harus mengonfigurasi resource TDMesh dan Route di GKE hanya dengan menggunakan Gateway API. Anda tidak dapat menggunakan Konsol Google Cloud, gcloud CLI, atau REST API.
  • Semua cluster harus berada dalam satu project. Mesh layanan yang mencakup berbagai cluster di banyak project tidak didukung.
  • Anda tidak dapat mengonfigurasi atau melihat mesh layanan GKE menggunakan Konsol Google Cloud.
  • Kemampuan observasi bidang kontrol dengan Cloud Logging dan Cloud Monitoring tidak didukung.

Langkah selanjutnya