Dokumen ini menjelaskan opsi load balancing yang didukung oleh Google Distributed Cloud untuk cluster baru.
Ada dua opsi load balancing yang tersedia untuk Anda. Pilih opsi yang 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 opsi yang tersedia:
MetalLB yang dibundel
Load balancing manual untuk load balancer pihak ketiga, seperti F5 BIG-IP Citrix
Saat Anda membuat cluster pengguna menggunakan konsol Google Cloud , gcloud CLI, atau Terraform, jenis load balancer untuk cluster admin dan cluster penggunanya harus sama. Satu-satunya pengecualian adalah jika cluster admin menggunakan Seesaw, maka cluster pengguna dapat menggunakan MetalLB. Jika Anda ingin
cluster admin dan pengguna menggunakan jenis load balancer yang berbeda, Anda harus
membuat cluster pengguna menggunakan alat command line gkectl
.
MetalLB
Load balancer MetalLB disertakan dengan Google Distributed Cloud dan sangat mudah dikonfigurasi. Komponen MetalLB berjalan di node cluster Anda, 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 secara otomatis memilih VIP dari kumpulan alamat yang Anda berikan sebelumnya.
Untuk mengetahui informasi selengkapnya, lihat Load balancing gabungan dengan MetalLB.
Citrix
Kami mendokumentasikan cara menyiapkan load balancer Citrix sebagai contoh penyiapan
load balancer secara manual. Dengan load balancer apa pun yang Anda siapkan 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 pilihan Anda selama Anda menyiapkannya secara manual.
Dengan load balancer apa pun yang Anda siapkan secara manual, Anda harus mengonfigurasi pemetaan
antara VIP, alamat node, dan nilai nodePort
. Untuk mengetahui informasi umum tentang
cara melakukannya, lihat
Load balancing manual.
Menyisihkan alamat IP virtual
Terlepas dari load balancer yang Anda gunakan, Anda harus menyisihkan beberapa alamat IP virtual (VIP) yang akan 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 Anda buat, Anda harus menyisihkan VIP berikut:
- VIP untuk server Kubernetes API
- VIP untuk layanan ingress
Misalnya, Anda ingin memiliki dua cluster 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 membuat node cluster mendapatkan alamat IP dari server DHCP.
Jika memilih opsi load balancing manual, Anda harus menggunakan alamat IP statis untuk node cluster.
Jika memilih untuk menggunakan alamat IP statis, Anda harus menyisihkan alamat yang cukup untuk node di cluster admin dan node di semua cluster pengguna yang ingin Anda buat. Untuk mengetahui detail tentang jumlah alamat IP node yang harus disisihkan, lihat Merencanakan alamat IP.
Membuat Layanan di cluster Anda
Setelah cluster pengguna Anda berjalan, developer aplikasi mungkin ingin membuat Layanan Kubernetes dan mengeksposnya ke klien eksternal.
Untuk Layanan jenis LoadBalancer
, VIP harus dikonfigurasi di 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
Service jenis LoadBalancer
, pengontrol MetalLB akan memilih alamat dari
pool dan menetapkan alamat ke Service. Developer tidak perlu
menentukan nilai untuk loadBalancerIP
dalam manifes Service.
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:
Buat Service jenis NodePort.
Pilih VIP untuk Layanan.
Konfigurasi load balancer secara manual sehingga traffic yang dikirim ke VIP diteruskan ke Layanan.