Dokumen ini menjelaskan opsi load balancing yang didukung oleh Google Distributed Cloud.
Ada dua opsi load balancing yang tersedia untuk Anda. Pilih opsi yang tampaknya paling sesuai dengan lingkungan dan kebutuhan Anda. Misalnya, Anda dapat memilih opsi yang memerlukan konfigurasi minimal. Atau, Anda dapat memilih opsi yang sesuai dengan load balancer yang sudah ada di jaringan Anda.
Berikut adalah opsi yang tersedia:
MetalLB dipaketkan
Load balancing manual untuk load balancer pihak ketiga apa pun, seperti F5 BIG-IP Citrix
MetalLB
Load balancer MetalLB dipaketkan dengan Google Distributed Cloud dan sangat mudah dikonfigurasi. Komponen MetalLB berjalan pada node cluster, sehingga Anda tidak perlu membuat VM terpisah untuk load balancer.
Anda dapat mengonfigurasi MetalLB untuk melakukan pengelolaan alamat IP. Artinya, saat developer membuat Layanan jenis LoadBalancer
, mereka tidak perlu menentukan VIP untuk Layanan tersebut. Sebagai gantinya, MetalLB otomatis memilih VIP dari kumpulan alamat yang Anda berikan sebelumnya.
Untuk informasi selengkapnya, lihat Load balancing yang dipaketkan dengan MetalLB.
Citrix
Kami mendokumentasikan cara menyiapkan load balancer Citrix sebagai contoh penyiapan
load balancer secara manual. Dengan load balancer yang disiapkan secara manual, Anda harus mengonfigurasi pemetaan antara VIP, alamat node, dan nilai nodePort
.
Untuk mengetahui informasi tentang cara melakukannya untuk load balancer Citrix, lihat Load balancing manual dengan Citrix.
Load balancing manual secara umum
Anda dapat menggunakan load balancer apa pun pilihan Anda selama Anda menyiapkannya secara manual.
Dengan load balancer yang disiapkan secara manual, Anda harus mengonfigurasi pemetaan antara VIP, alamat node, dan nilai nodePort
. Untuk mengetahui informasi umum tentang
cara melakukannya, lihat
Load balancing manual.
Mengesampingkan alamat IP virtual
Terlepas dari load balancer yang digunakan, Anda harus menyisihkan beberapa alamat IP virtual (VIP) yang ingin digunakan untuk load balancing.
Untuk cluster admin, Anda harus menyisihkan VIP berikut:
- VIP untuk server Kubernetes API
- VIP untuk add-on
Untuk setiap cluster pengguna yang ingin dibuat, Anda harus menyisihkan VIP berikut:
- VIP untuk server Kubernetes API
- VIP untuk layanan masuk
Misalnya, Anda ingin memiliki dua klaster pengguna. Kemudian, Anda memerlukan dua VIP untuk cluster admin dan dua VIP untuk setiap cluster pengguna. Jadi, Anda perlu menyisihkan enam VIP.
Alamat IP node
Jika memilih MetalLB sebagai load balancer, Anda dapat menggunakan alamat IP statis untuk node cluster, atau meminta node cluster Anda untuk mendapatkan alamat IP-nya dari server DHCP
Jika memilih opsi load balancing manual, Anda harus menggunakan alamat IP statis untuk node cluster Anda.
Jika memilih untuk menggunakan alamat IP statis, Anda harus menyisihkan cukup alamat untuk node di cluster admin dan node di semua cluster pengguna yang ingin Anda buat. Untuk mengetahui detail tentang jumlah alamat IP node yang perlu disisihkan, lihat Merencanakan alamat IP.
Membuat Service di cluster Anda
Setelah cluster pengguna berjalan, developer aplikasi dapat membuat Layanan Kubernetes dan mengeksposnya ke klien eksternal.
Untuk Layanan jenis LoadBalancer
, VIP harus dikonfigurasi pada load balancer. Cara VIP tersebut dikonfigurasi bergantung pada pilihan load balancer Anda.
MetalLB
Dalam file konfigurasi cluster pengguna, Anda menentukan kumpulan alamat yang digunakan
pengontrol MetalLB untuk menetapkan VIP ke Layanan. Saat developer membuat
Layanan dengan jenis LoadBalancer
, pengontrol MetalLB memilih alamat dari
kumpulan dan menetapkan alamat tersebut ke Layanan. Developer tidak perlu
menentukan nilai untuk loadBalancerIP
dalam manifes Layanan.
Load balancer yang dikonfigurasi secara manual
Jika Anda telah memilih opsi load balancing manual, developer dapat mengikuti langkah-langkah berikut untuk mengekspos Layanan ke klien eksternal:
Membuat Layanan jenis NodePort.
Pilih VIP untuk Layanan.
Mengonfigurasi load balancer secara manual sehingga traffic yang dikirim ke VIP diteruskan ke Layanan.