Dokumen ini menjelaskan cara kerja Gateway multi-cluster dalam Google Kubernetes Engine (GKE). Gateway multi-cluster adalah solusi jaringan yang efektif 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 membangun arsitektur jaringan organisasi mereka. Untuk mempelajari lebih lanjut peran umum dan contoh tugas yang kami referensikan dalam konten Google Cloud , lihat Peran dan tugas pengguna GKE Enterprise umum.
Ringkasan
Gateway multi-cluster dikonfigurasi menggunakan resource Kubernetes Gateway API. Pengontrol Gateway GKE memantau resource ini (Gateway, HTTPRoute) dan secara otomatis menyediakan serta memeliharaGoogle Cloud infrastruktur load balancing global yang diperlukan. Infrastruktur ini menyediakan pengelolaan traffic tingkat lanjut untuk layanan yang di-deploy di beberapa cluster GKE dalam fleet. Gateway multi-cluster menggunakan infrastruktur load balancing global Google Clouduntuk menyediakan satu titik entri terpadu bagi aplikasi Anda. Pendekatan ini memiliki manfaat sebagai berikut:
- Menyederhanakan pengelolaan
- Meningkatkan keandalan
- Memungkinkan kemampuan pengelolaan traffic lanjutan
Kemampuan pengelolaan traffic
Gateway multi-cluster memberi Anda kemampuan lanjutan untuk mengelola traffic di beberapa cluster. Anda dapat menerapkan strategi perutean yang canggih, seperti peluncuran bertahap dan strategi blue-green, untuk men-deploy perubahan dengan aman. Untuk kontrol terperinci, Anda dapat menggunakan pencocokan berbasis header untuk menguji perubahan dengan sebagian kecil traffic, atau membagi traffic berdasarkan bobot untuk mengalihkan permintaan secara bertahap di 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 berfungsi sebagai titik kontrol terpusat untuk konfigurasi Gateway multi-cluster Anda. Anda men-deploy semua resource Multi-cluster Gateway API, seperti Gateway dan HTTPRoute, hanya ke cluster yang ditentukan ini.
Pengontrol Gateway GKE memantau server Kubernetes API cluster konfigurasi untuk resource ini.
Untuk memilih cluster konfigurasi, pertimbangkan cluster GKE dengan ketersediaan tinggi, seperti cluster regional. Hal ini memastikan bahwa update pada resource Gateway API Anda dapat direkonsiliasi secara berkelanjutan 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 dan konektivitas layanan antara Service yang berjalan di cluster GKE yang berbeda dalam fleet.
MCG menggunakan MCS untuk menemukan Layanan mana yang tersedia di cluster mana agar dapat mengarahkan traffic eksternal ke Layanan tersebut. Pengontrol MCG menggunakan resource API MCS untuk mengelompokkan Pod ke dalam satu Layanan yang dapat ditangani dan menjangkau beberapa cluster.
Berdasarkan konfigurasi yang Anda tentukan di 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 responsif di seluruh fleet Anda, terlepas dari lokasinya.
Langkah-langkah tingkat tinggi berikut menjelaskan proses men-deploy Gateway multi-cluster:
Tentukan 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) yang akan diekspos. Untuk mengetahui informasi selengkapnya tentang Gateway Class yang didukung GKE, lihat Layanan Multi-cluster.
Lampirkan 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 pembagian 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 penyeimbangan beban Google Cloud yang diperlukan secara dinamis. Kemudian, load balancer mengarahkan traffic ke Pod yang benar, terlepas dari cluster tempat Pod berada. Proses ini memberikan 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 Google Cloud yang disediakan (seperti yang ditentukan oleh resource Gateway Anda), load balancer, yang merupakan proxy yang dikelola Google, akan merutekan traffic. Proxy ini (baik proxy Google Front End maupun 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.