Cluster GKE di VMware dapat dijalankan dengan salah satu dari tiga mode load balancing: terintegrasi, dipaketkan, atau manual.
Dengan mode terintegrasi, GKE di VMware menggunakan load balancer BESAR F5.
Dengan mode paket, GKE di VMware menyediakan dan mengelola load balancer. Anda tidak perlu mendapatkan lisensi untuk load balancer, dan jumlah penyiapan yang harus Anda lakukan sangat minimal.
Dengan mode manual, GKE di VMware menggunakan load balancer pilihan Anda. Mode load balancing manual mengharuskan Anda melakukan lebih banyak konfigurasi daripada mode terintegrasi. Load balancer Citrix adalah contoh load balancer yang dapat Anda gunakan dengan mode load balancing manual.
Load balancing manual didukung untuk jenis cluster berikut:
Cluster pengguna yang mengaktifkan Controlplane V2. Dengan Controlplane V2, node bidang kontrol untuk cluster pengguna berada dalam cluster pengguna itu sendiri.
Cluster pengguna yang menggunakan kubeception. Istilah kubeception mengacu pada kasus saat bidang kontrol untuk cluster pengguna berjalan pada satu atau beberapa node di cluster admin. Jika Controlplane V2 tidak diaktifkan, cluster pengguna akan menggunakan kubeception.
Cluster admin dengan ketersediaan tinggi (HA) dan cluster admin non-HA.
Halaman ini menjelaskan langkah-langkah yang perlu dilakukan jika Anda memilih menggunakan mode load balancing manual.
Dalam topik ini, Anda menyisihkan alamat IP untuk node cluster untuk digunakan di lain waktu.
Anda juga menyisihkan alamat IP untuk IP virtual (VIP) dan menentukan nilai nodePort
. Idenya adalah Anda memilih alamat IP dan nilai nodePort
yang
ingin digunakan, lalu mencatatnya di spreadsheet atau alat lainnya. Jika sudah siap membuat cluster, Anda memerlukan alamat IP dan nilai nodePort
untuk mengisi file konfigurasi cluster admin serta cluster pengguna dan file blok IP untuk cluster Anda.
Anda juga memerlukan alamat IP dan nilai nodePort
saat mengonfigurasi load balancer secara manual.
Mengesampingkan alamat IP node
Dengan mode load balancing manual, Anda tidak dapat menggunakan DHCP. Anda harus menentukan alamat IP statis untuk node cluster Anda. Anda perlu 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 perlu disisihkan, lihat Merencanakan alamat IP (Controlplane V2) dan Merencanakan alamat IP Anda (kubeception).
Mengonfigurasi alamat IP
Konfigurasi alamat IP statis yang telah Anda sisihkan bergantung pada jenis cluster dan apakah Controlplane V2 diaktifkan di cluster pengguna Anda.
Cluster admin dengan ketersediaan tinggi (HA)
Tabel berikut menjelaskan kegunaan alamat IP dan tempat Anda mengonfigurasinya untuk cluster admin dengan ketersediaan tinggi (HA).
IP statis | Konfigurasi |
---|---|
Node bidang kontrol | File konfigurasi cluster admin di bagian network.controlPlaneIPBlock.ips |
Node add-on | File blok IP cluster
Admin dan tambahkan jalur di kolom
network.ipMode.ipBlockFilePath pada
file konfigurasi cluster admin |
Cluster admin non-HA
Tabel berikut menjelaskan kegunaan alamat IP dan tempat Anda mengonfigurasinya untuk cluster admin non-HA.
IP statis | Konfigurasi |
---|---|
Node bidang kontrol | File blok IP cluster
Admin dan tambahkan jalur di kolom
network.ipMode.ipBlockFilePath pada
file konfigurasi cluster admin |
Node add-on | File blok IP cluster admin |
Cluster pengguna CP V2
Tabel berikut menjelaskan kegunaan alamat IP dan tempat Anda mengonfigurasinya untuk cluster pengguna dengan Controlplane V2 diaktifkan.
IP statis | Konfigurasi |
---|---|
node bidang kontrol | File konfigurasi cluster pengguna di
bagian network.controlPlaneIPBlock.ips |
Node pekerja | File blok IP cluster pengguna dan tambahkan jalur di kolom network.ipMode.ipBlockFilePath pada file konfigurasi cluster pengguna |
Cluster pengguna Kubeception
Tabel berikut menjelaskan kegunaan alamat IP dan tempat Anda mengonfigurasinya untuk cluster pengguna yang menggunakan kubeception.
IP statis | Konfigurasi |
---|---|
node bidang kontrol | File blok IP cluster
Admin dan tambahkan jalur di kolom
network.ipMode.ipBlockFilePath pada
file konfigurasi cluster admin |
Node pekerja | File blok IP cluster pengguna dan tambahkan jalur di kolom network.ipMode.ipBlockFilePath pada file konfigurasi cluster pengguna |
Menyisihkan alamat IP untuk VIP
Terlepas dari apakah Anda menggunakan mode load balancing terintegrasi, dipaketkan, atau manual, Anda harus menyisihkan beberapa alamat IP yang ingin digunakan untuk IP virtual (VIP) untuk load balancing. VIP ini memungkinkan klien eksternal menjangkau server Kubernetes API dan layanan ingress Anda di cluster pengguna.
Mengonfigurasi VIP
Tempat Anda mengonfigurasi VIP bergantung pada jenis cluster.
Cluster admin dengan ketersediaan tinggi (HA)
Tabel berikut menjelaskan fungsi VIP dan tempat Anda mengonfigurasinya untuk cluster admin dengan ketersediaan tinggi (HA).
VIP | Konfigurasi |
---|---|
VIP untuk server Kubernetes API dari cluster admin | File konfigurasi cluster admin di kolom loadBalancer.vips.controlPlaneVIP |
VIP untuk node add-on | File konfigurasi cluster admin di kolom loadBalancer.vips.addonsVIP |
Cluster admin non-HA
Tabel berikut menjelaskan fungsi VIP dan tempat Anda mengonfigurasinya untuk cluster admin non-HA.
VIP | Konfigurasi |
---|---|
VIP untuk server Kubernetes API dari cluster admin | File konfigurasi cluster admin di kolom loadBalancer.vips.controlPlaneVIP |
VIP untuk node add-on | File konfigurasi cluster admin di kolom loadBalancer.vips.addonsVIP |
Cluster pengguna CP V2
Tabel berikut menjelaskan fungsi VIP dan tempat Anda mengonfigurasinya untuk cluster pengguna yang mengaktifkan Controlplane V2.
VIP | Konfigurasi |
---|---|
VIP untuk server Kubernetes API pada cluster pengguna | File konfigurasi cluster pengguna di kolom
loadBalancer.vips.controlPlaneVIP |
VIP untuk layanan masuk di cluster pengguna | File konfigurasi cluster pengguna di kolom
loadBalancer.vips.ingressVIP |
Cluster pengguna Kubeception
Tabel berikut menjelaskan fungsi VIP dan tempat Anda mengonfigurasinya untuk cluster pengguna yang menggunakan kubeception.
VIP | Konfigurasi |
---|---|
VIP untuk server Kubernetes API pada cluster pengguna | File konfigurasi cluster pengguna di kolom
loadBalancer.vips.controlPlaneVIP |
VIP untuk layanan masuk di cluster pengguna | File konfigurasi cluster pengguna di kolom
loadBalancer.vips.ingressVIP |
Mengesampingkan nilai nodePort
Di GKE di VMware, server Kubernetes API dan ingress service diekspos oleh Layanan Kubernetes.
Dengan mode load balancing manual, Anda harus memilih nilai nodePort
sendiri untuk
Layanan ini. Pilih nilai dalam rentang 30000 - 32767.
Konfigurasi nilai nodePort
Tempat Anda mengonfigurasi nilai nodePort
bergantung pada apakah cluster pengguna telah mengaktifkan ControlPlane V2.
Cluster admin dengan ketersediaan tinggi (HA)
Tabel berikut menjelaskan kegunaan nodePort
dan tempat Anda
mengonfigurasinya untuk cluster admin dengan ketersediaan tinggi (HA).
nodePort |
Konfigurasi |
---|---|
nodePort untuk node add-on |
File konfigurasi cluster admin di kolom loadBalancer.manualLB.addonsNodePort |
Cluster admin non-HA
Tabel berikut menjelaskan kegunaan nilai nodePort
dan tempat Anda
mengonfigurasinya untuk cluster admin non-HA.
nodePort |
Konfigurasi |
---|---|
nodePort untuk server Kubernetes API cluster admin |
File konfigurasi cluster admin di kolom loadBalancer.vips.controlPlaneNodePort |
nodePort untuk node add-on |
File konfigurasi cluster admin di kolom loadBalancer.manualLB.addonsNodePort |
Cluster pengguna CP V2
Tabel berikut menjelaskan kegunaan nodePorts
dan tempat Anda mengonfigurasinya untuk cluster pengguna dengan Controlplane V2 diaktifkan.
nodePorts |
Konfigurasi |
---|---|
nodePort HTTP untuk layanan ingress di cluster
pengguna |
File konfigurasi cluster pengguna di
loadBalancer.manualLB.ingressHTTPNodePort |
nodePort HTTPS untuk layanan ingress di cluster
pengguna |
File konfigurasi cluster pengguna di
loadBalancer.manualLB.ingressHTTPSNodePort |
Anda tidak perlu mengonfigurasi nodePort
untuk bidang kontrol VIP karena
GKE di VMware menangani load balancing ke node bidang kontrol untuk
cluster pengguna yang mengaktifkan Controlplane V2.
Cluster pengguna Kubeception
Tabel berikut menjelaskan kegunaan nilai nodePort
dan tempat Anda mengonfigurasinya untuk cluster pengguna yang menggunakan kubeception.
nodePort |
Konfigurasi |
---|---|
nodePort untuk server Kubernetes API cluster pengguna |
File konfigurasi cluster pengguna di kolom
loadBalancer.manualLB.controlPlaneNodePort |
nodePort untuk server Konnektivitas cluster
pengguna (server Konnektivitas menggunakan bidang kontrol VIP) |
File konfigurasi cluster pengguna di kolom
loadBalancer.manualLB.konnectivityServerNodePort |
nodePort HTTP untuk layanan ingress di cluster
pengguna |
File konfigurasi cluster pengguna di
loadBalancer.manualLB.ingressHTTPNodePort |
nodePort HTTPS untuk layanan ingress di cluster
pengguna |
File konfigurasi cluster pengguna di
loadBalancer.manualLB.ingressHTTPSNodePort |
Contoh file konfigurasi cluster
Contoh berikut menunjukkan sebagian dari file konfigurasi cluster pengguna dan admin:
Cluster admin dengan ketersediaan tinggi (HA)
network:
controlPlaneIPBlock:
netmask: "255.255.248.0"
gateway: "21.0.143.254"
ips:
- ip: "21.0.140.226"
hostname: "admin-cp-vm-1"
- ip: "21.0.141.48"
hostname: "admin-cp-vm-2"
- ip: "21.0.141.65"
hostname: "admin-cp-vm-3"
loadBalancer:
vips:
controlPlaneVIP: "172.16.21.40"
kind: ManualLB
manualLB:
addonsNodePort: 31405
Cluster admin non-HA
network:
ipMode:
type: static
ipBlockFilePath: "ipblock-admin.yaml"
loadBalancer:
vips:
controlPlaneVIP: "172.16.21.40"
addonsVIP: "172.16.21.41"
kind: ManualLB
manualLB:
controlPlaneNodePort: 30562
addonsNodePort: 30563
Cluster pengguna CP V2
network:
ipMode:
type: static
ipBlockFilePath: "ipblock1.yaml"
controlPlaneIPBlock:
netmask: "255.255.255.0"
gateway: "172.16.21.1"
ips:
- ip: "172.16.21.6"
hostname: "cp-vm-1"
- ip: "172.16.21.7"
hostname: "cp-vm-2"
- ip: "172.16.21.8"
hostname: "cp-vm-3"
loadBalancer:
vips:
controlPlaneVIP: "172.16.21.40"
ingressVIP: "172.16.21.30"
kind: ManualLB
manualLB:
ingressHTTPNodePort: 30243
ingressHTTPSNodePort: 30879
Cluster pengguna Kubeception
network:
ipMode:
type: static
ipBlockFilePath: "ipblock1.yaml"
loadBalancer:
vips:
controlPlaneVIP: "172.16.21.40"
ingressVIP: "172.16.21.30"
kind: ManualLB
manualLB:
ingressHTTPNodePort: 30243
ingressHTTPSNodePort: 30879
konnectivityServerNodePort: 30563
controlPlaneNodePort: 30562
Mengonfigurasi load balancer
Gunakan alat atau konsol pengelolaan load balancer untuk mengonfigurasi pemetaan berikut di load balancer. Cara melakukannya bergantung pada load balancer Anda.
Cluster admin dengan ketersediaan tinggi (HA)
Lalu lintas pesawat kontrol
GKE di VMware otomatis menangani load balancing untuk traffic bidang kontrol
cluster admin dengan ketersediaan tinggi (HA). Meskipun tidak perlu mengonfigurasi pemetaan di
load balancer, Anda harus menentukan alamat IP di
kolom loadBalancer.vips.controlPlaneVIP
.
Traffic ke layanan di node add-on
Tabel berikut menunjukkan pemetaan ke alamat IP dan nilai nodePort
untuk traffic ke layanan di node add-on:
- (
addonsVIP
:8443) -> (ditemukan_IP_ADDRESSES:addonsNodePort
)
Tambahkan pemetaan ini untuk semua node di cluster admin, baik node bidang kontrol maupun node add-on.
Cluster admin non-HA
Lalu lintas pesawat kontrol
Berikut ini adalah pemetaan ke alamat IP dan nilai nodePort
untuk
node bidang kontrol:
- (
controlPlaneVIP
:443) -> (ditemukan_IP_ADDRESSES:controlPlaneNodePort
)
Tambahkan pemetaan ini untuk semua node di cluster admin, baik node bidang kontrol maupun node add-on.
Traffic ke layanan di node add-on
Tabel berikut menunjukkan pemetaan ke alamat IP dan nilai nodePort
untuk
layanan yang berjalan di node add-on:
- (
addonsVIP
:8443) -> (ditemukan_IP_ADDRESSES:addonsNodePort
)
Tambahkan pemetaan ini untuk semua node di cluster admin, baik node bidang kontrol maupun node add-on.
Cluster pengguna CP V2
Lalu lintas pesawat kontrol
GKE di VMware otomatis menangani load balancing traffic bidang kontrol
untuk cluster pengguna dengan Controlplane V2 diaktifkan. Meskipun tidak perlu mengonfigurasi pemetaan di load balancer, Anda harus menentukan alamat IP di kolom loadBalancer.vips.controlPlaneVIP
.
Traffic bidang data
Gambar berikut menunjukkan pemetaan ke alamat IP dan nilai nodePort
untuk traffic bidang data:
- (
ingressVIP
:80
) -> (ditemukan_IP_ADDRESSESingressHTTPNodePort
) - (
ingressVIP
:443
) -> (ditemukan_IP_ADDRESSESingressHTTPSNodePort
)
Tambahkan pemetaan ini untuk semua node dalam cluster pengguna, baik node bidang kontrol dan node pekerja. Karena Anda telah mengonfigurasi NodePort pada cluster, Kubernetes akan membuka NodePorts pada semua node cluster. Hal ini memungkinkan setiap node di cluster menangani traffic bidang data.
Setelah Anda mengonfigurasi pemetaan, load balancer akan memproses traffic di alamat IP yang dikonfigurasi untuk VIP ingress cluster pengguna di port HTTP dan HTTPS standar. Load balancer merutekan permintaan ke setiap node di cluster. Setelah permintaan dirutekan ke salah satu node cluster, jaringan Kubernetes internal akan mengambil alih dan mengarahkan permintaan tersebut ke Pod tujuan.
Cluster pengguna Kubeception
Lalu lintas pesawat kontrol
Berikut ini adalah pemetaan ke alamat IP dan nilai nodePort
untuk traffic bidang kontrol:
- (
controlPlaneVIP
:443
) -> (ditemukan_IP_ADDRESSEScontrolPlaneNodePort
) - (
controlPlaneVIP
:8132
) -> (ditemukan_IP_ADDRESSESkonnectivityServerNodePort
)
Tambahkan pemetaan ini untuk semua node dalam cluster admin, baik cluster admin maupun node bidang kontrol cluster pengguna dan node add-on.
Traffic bidang data
Gambar berikut menunjukkan pemetaan ke alamat IP dan nilai nodePort
untuk traffic bidang data:
- (
ingressVIP
:80
) -> (ditemukan_IP_ADDRESSESingressHTTPNodePort
) - (
ingressVIP
:443
) -> (ditemukan_IP_ADDRESSESingressHTTPSNodePort
)
Tambahkan pemetaan ini untuk semua node di cluster pengguna. Dengan cluster pengguna yang menggunakan kubeception, semua node dalam cluster adalah worker node.
Mereset koneksi ke node yang gagal (Direkomendasikan)
Selain persyaratan sebelumnya, sebaiknya Anda mengonfigurasi load balancer untuk mereset koneksi klien saat mendeteksi kegagalan node backend. Tanpa konfigurasi ini, klien server Kubernetes API dapat berhenti merespons selama beberapa menit saat instance server tidak aktif, yang dapat menyebabkan ketidakstabilan pada bidang kontrol Kubernetes.
- Dengan F5 BIG-IP, setelan ini disebut Action On Service Down di halaman konfigurasi kumpulan backend.
- Dengan HAProxy, setelan ini disebut sesi penonaktifan yang ditandai di konfigurasi server backend.
- Jika menggunakan load balancer lain, Anda harus membaca dokumentasi untuk menemukan setelan yang setara.
Mendapatkan dukungan untuk load balancing manual
Google tidak menyediakan dukungan untuk load balancer yang dikonfigurasi menggunakan mode load balancing manual. Jika Anda mengalami masalah dengan load balancer, hubungi vendor load balancer.
Langkah selanjutnya
- Load balancing dengan Citrix
- Menginstal F5 BIG-IP ADC untuk GKE di VMware menggunakan load balancing manual