Ringkasan mesh layanan GKE Cloud Service Mesh

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

Dokumen ini ditujukan bagi 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 layanan ke layanan, pengelolaan traffic, load balancing global, dan penerapan kebijakan keamanan untuk kasus penggunaan mesh layanan.

API Kubernetes 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 guna mengonfigurasi mesh layanan Cloud Service Mesh.

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

Service Routing API menggunakan nama resource yang sama dengan resource di Kubernetes Gateway API, sehingga memudahkan Anda saat menggunakan kedua API tersebut. Resource Kubernetes yang Anda konfigurasi secara fungsional setara dengan Google Cloud resource yang diwakili oleh API perutean layanan untuk Cloud Service Mesh.

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

Gateway API

Gateway API adalah kumpulan resource yang memodelkan jaringan layanan di Kubernetes. Gateway API Kubernetes adalah project open source yang berfokus pada dukungan kasus penggunaan ingress dan load balancer dengan menyediakan API perutean generik. Generic Routing API memiliki banyak implementasi. Definisi resource kustom (CRD) Cloud Service Mesh ditambahkan sebagai ekstensi ke Gateway API open source. CRD mendukung kasus penggunaan service mesh dan menggunakan API perutean generik yang sama yang diperkenalkan oleh Gateway API.

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

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

Fleet

Fleet terdiri dari satu atau beberapa cluster GKE yang dikelompokkan secara logis. Dengan fleet, Anda dapat mengelola kemampuan dan menerapkan kebijakan secara konsisten di beberapa cluster. 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 bidang data cluster Anda untuk menerapkan perilaku jaringan yang ditentukan dalam resource Gateway API. Cloud Service Mesh sendiri adalah bidang kontrol yang dikelola Google yang tidak memproses traffic bidang data apa pun. Proxy Envoy yang berjalan sebagai sidecar ke beban kerja Anda atau klien gRPC tanpa proxy memproses traffic di bidang data. Cloud Service Mesh mengonfigurasi proxy Envoy dan klien gRPC tanpa proxy melalui API xDSv3.

Cloud Service Mesh menawarkan solusi bidang kontrol terkelola yang tersedia secara global, yang lebih tangguh dan skalabel daripada menjalankan pengontrol dalam cluster. Karena merupakan solusi global, Cloud Service Mesh dapat melakukan load balancing traffic di seluruh workload yang didistribusikan di beberapa cluster GKE. Dalam ilustrasi berikut, Cloud Service Mesh mengelola traffic ke layanan di tiga cluster yang berada 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 cluster konfigurasi. Cluster konfigurasi adalah tempat resource Gateway API disimpan. Cloud Service Mesh hanya memantau resource yang ada di cluster konfigurasi, dan mengabaikan resource yang ada di cluster lain dalam fleet. Lihat Desain cluster konfigurasi dalam dokumentasi GKE untuk mengetahui informasi yang lebih mendetail tentang cluster konfigurasi.

Dengan Layanan multi-cluster GKE, resource Gateway API di cluster konfigurasi dapat mereferensikan layanan Kubernetes di cluster mana pun dalam fleet. Lihat Layanan Multi-cluster untuk mengetahui informasi selengkapnya tentang Penemuan Layanan Multi-Cluster.

Resource

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

Resource TDMesh

Resource TDMesh adalah resource kustom Cloud Service Mesh. API ini adalah ekstensi untuk Gateway API open source guna mendukung kasus penggunaan service mesh Cloud Service Mesh. Dengan menggunakan resource TDMesh, Anda membuat instance mesh layanan di fleet Anda. Rute yang dilampirkan ke resource TDMesh menentukan perilaku perutean layanan-ke-layanan di mesh layanan.

Route materi

Subkumpulan resource Gateway API Route dapat dilampirkan ke resource TDMesh untuk menentukan perutean tingkat layanan dalam mesh layanan. Cloud Service Mesh mendukung resource Route berikut:

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

Misalnya, Anda dapat membuat HTTPRoute untuk menentukan bahwa permintaan HTTP yang ditujukan ke host payments.svc.internal dirutekan ke layanan Kubernetes service-payments. Saat Anda melampirkan resource HTTPRoute ke resource TDMesh yang menjadi tujuan langganan instance bidang data, permintaan HTTP yang dikirim oleh beban kerja dalam mesh akan dirutekan dengan tepat.

Rilis ini menambah resource Route generik di Gateway API dengan jenis rute baru, TDGRPCRoute. Jenis rute baru memberikan pengalaman kelas satu 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 service mesh. Anda tidak dapat mengubah perilaku ini.
    • Pemeriksaan kesehatan TCP dikonfigurasi di port layanan yang dirujuk oleh resource Gateway API Route.
    • Waktu tunggu 30 detik default dikonfigurasi untuk semua permintaan masuk ke layanan.
    • Afinitas sesi dinonaktifkan.
  • Penyuntik 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 menggunakan Gateway API. Anda tidak dapat menggunakan konsolGoogle Cloud , gcloud CLI, atau REST API.
  • Semua cluster harus berada dalam satu project. Service mesh yang mencakup beberapa cluster dalam beberapa project tidak didukung.
  • Anda tidak dapat mengonfigurasi atau melihat mesh layanan GKE menggunakan konsol Google Cloud .
  • Kemampuan pengamatan bidang kontrol dengan Cloud Logging dan Cloud Monitoring tidak didukung.

Langkah berikutnya