Ringkasan load balancing untuk Google Distributed Cloud

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.