Dokumen ini menjelaskan cara kerja Gateway multi-cluster dalam Google Kubernetes Engine (GKE). Gateway multi-cluster adalah solusi jaringan yang canggih yang memungkinkan Anda mengelola traffic untuk layanan yang di-deploy di beberapa cluster GKE.
Dokumen ini ditujukan untuk arsitek Cloud dan spesialis Jaringan yang mendesain dan membuat arsitektur jaringan organisasi mereka. Untuk mempelajari lebih lanjut peran umum dan contoh tugas yang kami referensikan dalam konten, lihat Peran dan tugas pengguna GKE Enterprise umum. Google Cloud
Ringkasan
Gateway multi-cluster dikonfigurasi menggunakan resource Kubernetes Gateway API. Pengontrol Gateway GKE memantau resource ini (Gateway, HTTPRoute) dan secara otomatis menyediakan serta memelihara infrastruktur load balancing global yang diperlukan Google Cloud . Infrastruktur ini menyediakan pengelolaan traffic lanjutan untuk layanan yang di-deploy di beberapa cluster GKE dalam fleet. Gateway multi-cluster menggunakan Google Cloud's infrastruktur load balancing global untuk menyediakan satu titik entri terpadu untuk aplikasi Anda. Pendekatan ini memiliki manfaat sebagai berikut:
- Menyederhanakan pengelolaan
- Meningkatkan keandalan
- Mengaktifkan kemampuan pengelolaan traffic lanjutan
Kemampuan pengelolaan traffic
Gateway multi-cluster memberi Anda kemampuan lanjutan untuk mengelola traffic di beberapa cluster. Anda dapat menerapkan strategi pemilihan rute yang canggih, seperti peluncuran bertahap dan strategi blue-green, untuk men-deploy perubahan dengan aman. Untuk kontrol yang lebih mendetail, Anda dapat menggunakan pencocokan berbasis header untuk menguji perubahan dengan persentase traffic yang kecil, atau membagi traffic berdasarkan bobot untuk secara bertahap mengalihkan permintaan antara backend cluster yang berbeda.
Gateway multi-cluster juga memungkinkan Anda mencerminkan traffic, yang mengirimkan salinan permintaan pengguna aktif ke layanan baru untuk menguji performa tanpa memengaruhi pengguna. Untuk memastikan keandalan dan mencegah kelebihan beban, Gateway multi-cluster mendukung failover berbasis kondisi dan load balancing berbasis kapasitas, yang mendistribusikan permintaan berdasarkan kapasitas layanan yang ditentukan.
Cara kerja Gateway multi-cluster
Semua cluster GKE yang berpartisipasi dalam penyiapan Gateway multi-cluster harus didaftarkan ke fleet. Fleet menyediakan pengelompokan cluster secara logis, yang memungkinkan pengelolaan dan komunikasi yang konsisten di seluruh cluster. Satu cluster GKE dalam fleet ditetapkan sebagai cluster konfigurasi.
Cluster konfigurasi bertindak sebagai titik kontrol terpusat untuk konfigurasi Gateway multi-cluster Anda. Anda hanya men-deploy semua resource Gateway multi-cluster API, seperti Gateway dan HTTPRoute, ke cluster yang ditetapkan ini.
Pengontrol Gateway GKE memantau server Kubernetes API dari cluster konfigurasi untuk resource ini.
Untuk memilih cluster konfigurasi, pertimbangkan cluster regional atau cluster GKE lain yang sangat tersedia. Hal ini membantu memastikan bahwa update pada resource Gateway API Anda dapat terus direkonsiliasi oleh pengontrol.
Pengontrol Gateway multi-cluster menggunakan Layanan multi-cluster (MCS) untuk menemukan dan mengakses Layanan Kubernetes di beberapa cluster GKE dalam fleet. MCS adalah fitur GKE yang memungkinkan penemuan layanan dan konektivitas antara Layanan yang berjalan di cluster GKE yang berbeda dalam fleet.
MCG menggunakan MCS untuk menemukan Layanan mana yang tersedia di cluster mana guna merutekan traffic eksternal ke Layanan. Pengontrol MCG menggunakan resource MCS API untuk mengelompokkan Pod ke dalam satu Layanan yang dapat ditangani dan mencakup beberapa cluster.
Berdasarkan konfigurasi yang Anda tentukan dalam resource Gateway API, pengontrol Gateway GKE menyediakan Load Balancer Aplikasi eksternal atau Load Balancer Aplikasi internal. Load balancer ini berfungsi sebagai frontend untuk aplikasi Anda, dan mendistribusikan traffic langsung ke Pod yang berfungsi dengan baik di seluruh fleet, terlepas dari lokasinya.
Langkah-langkah tingkat tinggi berikut menjelaskan proses men-deploy Gateway multi-cluster:
Menentukan Gateway: dalam penyiapan Gateway multi-cluster, Anda membuat resource Gateway yang menentukan titik entri untuk traffic Anda di cluster konfigurasi. Resource Gateway menentukan GatewayClass, yang merupakan template untuk jenis load balancer tertentu, seperti Load Balancer Aplikasi eksternal Global atau Load Balancer Aplikasi internal Regional. Di GKE, GatewayClass berikut men-deploy Gateway multi-cluster:
gke-l7-global-external-managed-mc: menyediakan Load Balancer Aplikasi eksternal Global.gke-l7-regional-external-managed-mc: menyediakan Load Balancer Aplikasi eksternal Regional.gke-l7-cross-regional-internal-managed-mc: menyediakan Load Balancer Aplikasi Internal.gke-l7-rilb-mc: menyediakan Load Balancer Aplikasi Internal.gke-l7-gxlb-mc: menyediakan Load Balancer Aplikasi Klasik.
Gateway juga menentukan cara load balancer memproses traffic masuk dengan menentukan pemroses jaringan (port dan protokol) mana yang akan diekspos. Untuk mengetahui informasi selengkapnya tentang Gateway Class yang didukung GKE, lihat Layanan Multi-cluster.
Melampirkan HTTPRoute ke Gateway: Resource HTTPRoute menentukan cara traffic HTTP/S masuk dirutekan ke layanan backend tertentu. HTTPRoute dilampirkan ke resource Gateway dan menentukan aturan berdasarkan nama host, jalur, header, dan lainnya. HTTPRoute juga mendukung fitur pengelolaan traffic lanjutan seperti pemisahan traffic dan pencerminan traffic.
Membuat load balancer: saat Anda men-deploy resource Gateway dan HTTPRoute, pengontrol Gateway GKE akan menafsirkan objek API ini dan, pada gilirannya, mengonfigurasi infrastruktur Google Cloud load balancing yang diperlukan secara dinamis. Load balancer kemudian mengarahkan traffic ke Pod yang benar, terlepas dari cluster tempat Pod berada. Proses ini menyediakan cara yang sangat efisien dan skalabel untuk merutekan traffic.
Alur traffic
Diagram berikut mengilustrasikan cara kerja Gateway multi-cluster sebagai load balancer terpusat untuk aplikasi yang berjalan di dua cluster GKE di region yang berbeda:
Perilaku load balancer dikonfigurasi berdasarkan aturan yang ditentukan dalam resource HTTPRoute Anda. Saat traffic pengguna tiba di alamat IP load balancer yang disediakan Google Cloud (seperti yang ditentukan oleh resource Gateway Anda), load balancer, yang merupakan proxy yang dikelola Google, akan merutekan traffic. Proxy ini (proxy Google Front End atau proxy regional) mengarahkan traffic ke endpoint layanan backend yang sesuai dalam cluster GKE yang benar, berdasarkan kriteria berikut:
- Health check
- Aturan pemisahan traffic
- Kapasitas
Traffic mengalir langsung ke Pod yang optimal di cluster yang dipilih.
Langkah berikutnya
- Pelajari cara mengaktifkan Gateway multi-cluster.
- Baca ringkasan tentang cara kerja Gateway di GKE.