Halaman ini memberikan ringkasan umum tentang cara Google Kubernetes Engine (GKE) membuat dan mengelola Cloud Load Balancing. Halaman ini mengasumsikan bahwa Anda mengetahui hal-hal berikut:
- Jenis Cloud de Confiance by S3NS load balancer
- Perbedaan antara load balancer Lapisan 4 (Load Balancer Jaringan) dan Lapisan 7 (Load Balancer Aplikasi)
Halaman ini ditujukan untuk Arsitek cloud dan Spesialis jaringan yang mendesain dan membangun arsitektur jaringan untuk organisasi mereka. Untuk mempelajari lebih lanjut peran umum dan contoh tugas yang kami referensikan dalam konten Cloud de Confiance , lihat Peran dan tugas pengguna umum GKE Enterprise.
Cara GKE membuat load balancer
Agar aplikasi Anda dapat diakses dari luar cluster (pengguna eksternal) atau dalam jaringan pribadi (pengguna internal), Anda dapat mengekspos aplikasi dengan menyediakan load balancer menggunakan Gateway, Ingress, dan Service API. Atau, Anda dapat membuat komponen load balancer sendiri, sementara GKE mengelola grup endpoint jaringan (NEG) yang menghubungkan load balancer ke Pod di cluster Anda.
Gateway
GKE Gateway controller adalah implementasi Google untuk Kubernetes Gateway API untuk Cloud Load Balancing. Gateway API adalah project open source yang bertujuan untuk menstandardisasi cara mesh layanan dan pengontrol ingress mengekspos aplikasi di Kubernetes. Gateway API dirancang untuk menjadi penerus resource Ingress yang lebih ekspresif, fleksibel, dan dapat diperluas.
Pengontrol Gateway GKE digunakan untuk mengonfigurasi Load Balancer Aplikasi Lapisan 7 guna mengekspos traffic HTTP(S) ke aplikasi yang berjalan di cluster.
Gunakan Gateway API untuk menerapkan load balancer Anda.
Masuk
Pengontrol GKE Ingress adalah implementasi Google untuk Ingress API. Ingress API memungkinkan Anda mengelola akses eksternal ke Service yang berjalan dalam cluster. Saat Anda membuat resource Ingress di GKE, pengontrol akan otomatis mengonfigurasi Load Balancer Aplikasi Lapisan 7 yang memungkinkan traffic HTTP atau HTTP(S) mencapai aplikasi Anda yang berjalan di cluster.
GKE Gateway adalah pilihan yang direkomendasikan untuk deployment dan aplikasi baru yang memerlukan pengelolaan traffic lanjutan, dukungan multi-protokol, atau multi-tenancy yang lebih baik. Namun, GKE Ingress adalah opsi yang layak untuk skenario perutean HTTP/HTTPS yang lebih sederhana, terutama untuk konfigurasi yang ada di mana manfaat migrasi ke Gateway API mungkin belum lebih besar daripada upaya yang diperlukan.
Service LoadBalancer
Service API memungkinkan Anda
mengekspos aplikasi yang berjalan sebagai Pod di cluster Anda ke traffic eksternal atau internal. Saat Anda membuat Service jenis LoadBalancer, GKE akan otomatis membuat Load Balancer Jaringan Passthrough Layer 4 (TCP/UDP) berdasarkan parameter manifes Service Anda.
Di Load Balancer Jaringan Passthrough, saat traffic mencapai VM backend Anda, alamat IP sumber dan tujuan asli, protokol komunikasi (seperti TCP atau UDP), dan nomor port (jika protokol menggunakannya) tetap sama. Artinya, traffic langsung diteruskan ke VM atau Pod backend dan load balancer tidak menghentikan koneksi. Layanan backend menangani penghentian koneksi dan memastikan traffic mengalir dengan lancar dari klien ke Layanan.
Load balancing berbobot
Jika Anda mengonfigurasi Service LoadBalancer eksternal yang dapat diakses oleh klien di luar jaringan VPC dan VM Cloud de Confiance , Anda dapat mengaktifkan load balancing berbobot. Load balancing berbobot mendistribusikan traffic berdasarkan jumlah Pod aktif di setiap node GKE, sehingga node yang memiliki lebih banyak Pod aktif akan menerima proporsi traffic yang lebih besar dibandingkan dengan node yang memiliki lebih sedikit Pod.
NEG Mandiri
Metode lain untuk mengelola load balancer di GKE adalah dengan membuat komponen load balancer sendiri, dan membiarkan GKE mengelola NEG. Jenis load balancer ini disebut Load Balancer Jaringan Proxy. NEG adalah cara untuk merepresentasikan grup endpoint backend (misalnya, Pod) untuk load balancing.
Jenis load balancer ini hanya ditujukan untuk traffic TCP. Load Balancer Jaringan Proxy mendistribusikan traffic TCP ke backend di jaringan VPC Anda atau di lingkungan cloud lainnya. Traffic dihentikan di lapisan load balancing. Load balancer kemudian meneruskan traffic dengan membuat koneksi TCP baru ke backend terdekat yang tersedia.
Apa itu load balancing berbasis container?
Load balancing berbasis container adalah praktik mendistribusikan traffic secara merata
langsung ke alamat IP setiap Pod (bukan node) menggunakan
NEG GCE_VM_IP_PORT. GCE_VM_IP_PORT NEG memungkinkan Anda menentukan endpoint backend menggunakan alamat IP internal utama virtual machine (VM) Compute Engine, atau alamat IP dari salah satu rentang IP alias yang dikonfigurasi VM.
Load balancing berbasis container digunakan untuk semua load balancer Lapisan 7 yang dikelola GKE, termasuk Gateway dan Ingress, serta NEG mandiri. Layanan LoadBalancer tidak menggunakan load balancing berbasis container. Namun, Anda dapat mencapai kemampuan serupa dengan mengaktifkan load balancing berbobot.
Load balancing berbasis container memiliki beberapa keuntungan, termasuk peningkatan performa jaringan dan peningkatan health check, karena menargetkan Pod secara langsung. Untuk mengetahui informasi selengkapnya, lihat Load balancing berbasis container.
Tabel ringkasan
Gunakan tabel berikut untuk membantu Anda merencanakan konfigurasi load balancing.
Memilih jenis load balancer
Tabel berikut menunjukkan jenis load balancer yang dibuat untuk resource tertentu (Gateway, Ingress, atau Layanan LoadBalancer):
| Resource Kubernetes | Jenis load balancer yang dibuat | |
|---|---|---|
| Load Balancer Aplikasi | Load Balancer Jaringan Passthrough | |
| Gateway | ||
| Masuk | ||
| Layanan LoadBalancer | ||
Memilih metode untuk membuat load balancer
Tabel berikut menunjukkan opsi di GKE untuk membuat load balancer pilihan Anda:
| Jenis load balancer | Metode untuk membuat load balancer yang dipilih | |||
|---|---|---|---|---|
| Gateway | Masuk | Service LoadBalancer | NEG Mandiri | |
| Load Balancer Aplikasi eksternal global | ||||
| Load Balancer Aplikasi eksternal klasik | ||||
| Load Balancer Aplikasi eksternal regional | ||||
| Load Balancer Aplikasi internal regional | ||||
| Load Balancer Aplikasi internal lintas region | ||||
|
Load Balancer Jaringan Proxy
(semua jenis) |
||||
|
Load Balancer Jaringan passthrough
(internal dan eksternal) |
||||
Langkah berikutnya
- Pelajari Gateway API di GKE.
- Pelajari Ingress GKE.
- Pelajari Service LoadBalancer.