Ringkasan mesh layanan GKE Traffic Director

Dokumen ini ditujukan untuk pengguna Google Kubernetes Engine yang ingin men-deploy mesh layanan Traffic Director menggunakan Kubernetes Gateway API.

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

Kubernetes API dan Google Cloud API

Anda dapat mengonfigurasi mesh layanan Traffic Director menggunakan dua API yang berbeda:

Dokumen ini dan panduan penyiapan terkait memberikan petunjuk penggunaan Kubernetes Gateway API untuk mengonfigurasi mesh layanan Traffic Director.

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

API perutean layanan menggunakan nama resource yang sama dengan resource dalam Kubernetes Gateway API, yang memudahkan Anda saat menggunakan dua API ini. Resource Kubernetes yang Anda konfigurasikan secara fungsional setara dengan resource Google Cloud yang direpresentasikan oleh API perutean layanan untuk Traffic Director.

Bagian berikut ini menjelaskan resource dan arsitektur yang digunakan oleh integrasi Traffic Director dengan Kubernetes Gateway API.

API Gateway

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 umum. API perutean generik memiliki banyak implementasi. Definisi resource kustom (CRD) Traffic Director ditambahkan sebagai ekstensi untuk Gateway API open source. CRD mendukung kasus penggunaan mesh layanan dan menggunakan API pemilihan rute generik yang sama seperti yang diperkenalkan oleh Gateway API.

Gateway API disusun secara hierarkis, dengan resource induk Gateway dan GatewayClass terkait, tempat Anda menambahkan rute. GKE menyertakan 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 Routes
Gateway API, Resource Gateway, resource Mesh, dan Rute (klik untuk memperbesar)

Fleet

Satu fleet terdiri dari satu atau beberapa cluster GKE yang dikelompokkan secara logis. Feet memungkinkan Anda mengelola kemampuan dan menerapkan kebijakan secara konsisten di beberapa cluster. Saat menggunakan fleet, Anda dapat mengelola mesh layanan Traffic Director yang mencakup beberapa cluster.

Arsitektur

Traffic Director mendukung Gateway API di GKE dengan memprogram bidang data cluster Anda untuk mengimplementasikan perilaku jaringan yang ditentukan dalam resource Gateway API. Traffic Director sendiri adalah bidang kontrol yang dikelola Google yang tidak memproses traffic bidang data. Envoy melakukan proxy yang berjalan sebagai file bantuan untuk workload Anda atau klien gRPC tanpa proxy, memproses traffic di bidang data. Traffic Director mengonfigurasi proxy Envoy dan klien gRPC tanpa proxy melalui xDSv3 API.

Traffic Director menawarkan solusi bidang kontrol terkelola dan tersedia secara global, yang lebih andal dan skalabel daripada menjalankan pengontrol dalam cluster. Karena merupakan solusi global, Traffic Director dapat melakukan load balancing terhadap traffic di seluruh beban kerja yang didistribusikan di beberapa cluster GKE. Dalam ilustrasi berikut, Traffic Director mengelola traffic ke layanan di tiga cluster yang berada dalam satu fleet, menggunakan resource Gateway API.

Mesh layanan multi-cluster Traffic Director yang dikonfigurasi menggunakan Gateway API
Mesh layanan multi-cluster Traffic Director yang dikonfigurasi menggunakan Gateway API (klik untuk memperbesar)

Anda menetapkan satu cluster di fleet Anda sebagai cluster konfigurasi. Cluster konfigurasi adalah tempat penyimpanan resource Gateway API. Traffic Director hanya mengamati 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.

Referensi

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

Resource TDMesh

Resource TDMesh adalah resource kustom Traffic Director. Ini adalah ekstensi untuk Gateway API open source guna mendukung kasus penggunaan mesh layanan Traffic Director. Dengan resource TDMesh, Anda membuat instance mesh layanan di fleet. Rute yang disertakan ke resource TDMesh menentukan perilaku pemilihan rute layanan-ke-layanan di mesh layanan.

Route resource

Subset resource Gateway API Route dapat dipasang ke resource TDMesh untuk menentukan perutean tingkat layanan dalam mesh layanan. Traffic Director mendukung resource Route berikut:

  • HTTPRoute
  • TCPRoute
  • TDGRPCRoute (Resource kustom Traffic Director)

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

Rilis ini meningkatkan resource Route generik di Gateway API dengan jenis rute baru, TDGRPCRoute. Jenis rute baru memberikan pengalaman kelas satu untuk merutekan permintaan gRPC, dengan melakukan pencocokan pada primitif gRPC native, seperti definisi metode dan layanan.

Menggunakan resource Gateway API di GKE untuk mengonfigurasi Traffic Director
Menggunakan resource Gateway API di GKE untuk mengonfigurasi Traffic Director (klik untuk memperbesar)

Batasan

  • Traffic Director mengonfigurasi perilaku default berikut untuk semua layanan Kubernetes di mesh layanan. Anda tidak dapat mengubah perilaku ini.
    • Health check TCP dikonfigurasi pada port layanan yang dirujuk oleh resource Route Gateway API apa pun.
    • Waktu tunggu default 30 detik dikonfigurasi untuk semua permintaan masuk ke layanan.
    • Afinitas sesi dinonaktifkan.
  • Invoy auto injection hanya mendukung satu mesh per fleet.
  • Fitur keamanan Traffic Director tidak dapat diaktifkan menggunakan Gateway API.
  • Anda harus mengonfigurasi resource TDMesh dan Route di GKE hanya 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 seluruh cluster dalam beberapa 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