Sebaiknya Anda mengonfigurasi salah satu mode load balancing berikut:
Dengan mode paket, Google Distributed Cloud menyediakan dan mengelola dengan load balancer Jaringan Passthrough Eksternal Regional. Anda tidak perlu mendapatkan lisensi untuk load balancer, dan jumlah pengaturan yang harus Anda lakukan sangat minim.
Dengan mode manual, Google Distributed Cloud menggunakan load balancer pilihan Anda, seperti F5 BIG-IP atau Citrix. Mode load balancing manual mengharuskan Anda konfigurasi yang lebih banyak dibandingkan dengan mode paket.
Load balancing manual didukung untuk jenis cluster berikut:
Cluster pengguna yang mengaktifkan Controlplane V2. Dengan Controlplane V2, node bidang kontrol untuk cluster pengguna berada di cluster pengguna itu sendiri.
Cluster pengguna yang menggunakan kubeception. Istilah kubeception mengacu pada kasus ini tempat bidang kontrol untuk cluster pengguna berjalan pada satu atau beberapa node di ke cluster admin. Jika Controlplane V2 tidak diaktifkan, cluster pengguna akan menggunakan kubeception.
Halaman ini menjelaskan langkah-langkah yang perlu dilakukan jika Anda memilih untuk menggunakan manual mode load balancing.
Dalam topik ini, Anda mengesampingkan
alamat IP untuk simpul bidang kontrol dan
node pekerja untuk digunakan nanti. Anda juga menyisihkan alamat IP untuk IP virtual
(VIP) dan menentukan nilai nodePort
. Idenya adalah Anda memilih IP
alamat dan nilai nodePort
yang ingin Anda gunakan, lalu catat dalam
{i>spreadsheet<i} atau {i>tool<i} lainnya. Setelah Anda siap untuk membuat cluster,
Anda memerlukan alamat IP dan nilai nodePort
untuk mengisi
file konfigurasi untuk
cluster admin
dan
cluster pengguna dan
file blok IP untuk cluster Anda.
Anda juga memerlukan alamat IP dan nilai nodePort
saat Anda secara manual
dan mengonfigurasi load balancer
untuk cluster pengguna.
Mengesampingkan alamat IP node
Dengan mode load balancing manual, Anda tidak dapat menggunakan DHCP. Anda harus menentukan Alamat IP untuk node cluster Anda. Anda perlu menyisihkan cukup banyak alamat untuk node di cluster admin dan node di semua cluster pengguna yang diinginkan buat. Untuk detail tentang berapa banyak alamat IP {i>node<i} yang harus disisihkan, lihat Merencanakan alamat IP (Controlplane V2) dan Rencanakan alamat IP Anda (kubeception).
Konfigurasi alamat IP
Tempat Anda mengonfigurasi alamat IP statis yang telah Anda sisihkan bergantung pada pada jenis cluster dan apakah Controlplane V2 diaktifkan pada pengguna Anda atau tidak klaster.
Cluster admin ketersediaan tinggi (HA)
Tabel berikut menjelaskan untuk apa alamat IP dan di mana Anda mengonfigurasinya untuk cluster admin HA.
IP statis | Konfigurasi |
---|---|
Node bidang kontrol | File konfigurasi cluster admin di
Bagian network.controlPlaneIPBlock.ips |
1.16 dan yang lebih lama: Node add-on | Pemblokiran IP cluster admin
, lalu tambahkan jalur direktori
kolom network.ipMode.ipBlockFilePath di
file konfigurasi cluster admin |
Pada versi 1.28 dan yang lebih tinggi, cluster admin HA baru tidak memiliki node add-on, sehingga Anda tidak perlu menyisihkan alamat IP untuk node add-on seperti pada versi.
Cluster admin non-HA
Tabel berikut menjelaskan untuk apa alamat IP dan di mana Anda mengonfigurasinya untuk cluster admin non-HA.
IP statis | Konfigurasi |
---|---|
Node bidang kontrol | Pemblokiran IP cluster admin
, lalu tambahkan jalur direktori
kolom network.ipMode.ipBlockFilePath di
file konfigurasi cluster admin |
Node add-on | File blok IP cluster admin |
Pada versi 1.28 dan yang lebih tinggi, semua cluster admin baru harus memiliki ketersediaan tinggi (HA) dengan 3 node bidang kontrol.
Cluster pengguna CP V2
Tabel berikut menjelaskan untuk apa alamat IP dan di mana Anda melakukan konfigurasi untuk cluster pengguna yang mengaktifkan Controlplane V2.
IP statis | Konfigurasi |
---|---|
Node bidang kontrol | File konfigurasi cluster pengguna di
Bagian network.controlPlaneIPBlock.ips |
Node pekerja | Pemblokiran IP cluster pengguna
, lalu tambahkan jalur direktori
kolom network.ipMode.ipBlockFilePath di
file konfigurasi cluster pengguna |
Cluster pengguna Kubeception
Tabel berikut menjelaskan untuk apa alamat IP dan di mana Anda mengkonfigurasi mereka untuk klaster pengguna yang menggunakan {i>kubeception<i}.
IP statis | Konfigurasi |
---|---|
Node bidang kontrol | Pemblokiran IP cluster admin
, lalu tambahkan jalur direktori
kolom network.ipMode.ipBlockFilePath di
file konfigurasi cluster admin |
Node pekerja | Pemblokiran IP cluster pengguna
, lalu tambahkan jalur direktori
kolom network.ipMode.ipBlockFilePath di
file konfigurasi cluster pengguna |
Mengesampingkan alamat IP untuk VIP
Terlepas dari apakah Anda menggunakan mode load balancing terintegrasi, terpaket, atau manual, Anda harus menyisihkan beberapa alamat IP yang ingin Anda gunakan untuk IP virtual (VIP) untuk load balancing. VIP ini memungkinkan klien eksternal untuk menjangkau server Kubernetes API dan layanan masuk Anda di cluster pengguna.
Mengonfigurasi VIP
Tempat Anda mengonfigurasi VIP bergantung pada jenis cluster.
Cluster admin ketersediaan tinggi (HA)
Tabel berikut menjelaskan untuk apa VIP itu dan di mana Anda untuk cluster admin HA.
VIP | Konfigurasi |
---|---|
VIP untuk server Kubernetes API cluster admin | File konfigurasi cluster admin di
Kolom loadBalancer.vips.controlPlaneVIP |
1.15 dan yang lebih rendah: Add-on VIP | File konfigurasi cluster admin di
Kolom loadBalancer.vips.addonsVIP |
Perhatikan perbedaan versi berikut:
Pada versi 1.16 dan yang lebih tinggi, Anda tidak perlu mengonfigurasi VIP add-on untuk admin HA klaster.
Pada versi 1.28 dan yang lebih tinggi, cluster admin dengan ketersediaan tinggi (HA) baru tidak memiliki node add-on.
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 cluster admin | File konfigurasi cluster admin di
Kolom loadBalancer.vips.controlPlaneVIP |
1.15 dan yang lebih rendah: Add-on VIP | File konfigurasi cluster admin di
Kolom loadBalancer.vips.addonsVIP |
Perhatikan perbedaan versi berikut:
Di 1.16 dan yang lebih tinggi, Anda tidak perlu mengonfigurasi add-on VIP untuk admin non-HA.
Cluster pengguna CP V2
Tabel berikut menjelaskan tujuan VIP dan lokasi Anda melakukan konfigurasi untuk cluster pengguna yang mengaktifkan Controlplane V2.
VIP | Konfigurasi |
---|---|
VIP untuk server Kubernetes API 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 tujuan VIP dan lokasi Anda mengkonfigurasi mereka untuk klaster pengguna yang menggunakan {i>kubeception<i}.
VIP | Konfigurasi |
---|---|
VIP untuk server Kubernetes API 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 Google Distributed Cloud, server Kubernetes API dan layanan ingress
yang diekspos oleh Kubernetes Services.
Dengan mode load balancing manual, Anda harus memilih nilai nodePort
sendiri untuk
Layanan tersebut. Pilih nilai dalam rentang 30000 - 32767.
Mengonfigurasi nilai nodePort
Tempat Anda mengonfigurasi nilai nodePort
bergantung pada apakah cluster pengguna memiliki
ControlPlane V2 diaktifkan.
Cluster admin ketersediaan tinggi (HA)
Tabel berikut menjelaskan kegunaan nodePort
dan tempat Anda
untuk cluster admin HA.
nodePort |
Konfigurasi |
---|---|
1.15 dan yang lebih rendah: nodePort untuk node add-on |
File konfigurasi cluster admin di
Kolom loadBalancer.manualLB.addonsNodePort |
Pada versi 1.16 dan yang lebih baru, Anda tidak perlu mengonfigurasi nodePort
untuk
add-on untuk cluster admin HA.
Cluster admin non-HA
Tabel berikut menjelaskan fungsi nilai nodePort
dan lokasi Anda
mengonfigurasinya untuk cluster admin non-HA.
nodePort |
Konfigurasi |
---|---|
1.16 dan yang lebih lama: nodePort untuk Kubernetes API
server cluster admin |
1.15 dan versi sebelumnya: File konfigurasi cluster admin di
Kolom loadBalancer.vips.controlPlaneNodePort |
1.15 dan yang lebih lama: nodePort untuk node add-on |
File konfigurasi cluster admin di
Kolom loadBalancer.manualLB.addonsNodePort |
Pada versi 1.16 dan yang lebih baru, Anda tidak perlu mengonfigurasi nodePort
untuk
add-on untuk cluster admin non-HA.
Cluster pengguna CP V2
Tabel berikut menjelaskan kegunaan nodePorts
dan lokasi Anda
melakukan konfigurasi untuk cluster pengguna
yang mengaktifkan Controlplane V2.
nodePorts |
Konfigurasi |
---|---|
nodePort HTTP untuk layanan masuk pengguna
{i>cluster <i}(mengelompokkan) |
File konfigurasi cluster pengguna di
loadBalancer.manualLB.ingressHTTPNodePort |
nodePort HTTPS untuk layanan masuk pengguna
{i>cluster <i}(mengelompokkan) |
File konfigurasi cluster pengguna di
loadBalancer.manualLB.ingressHTTPSNodePort |
Anda tidak perlu mengonfigurasi nodePort
untuk VIP bidang kontrol karena
Google Distributed Cloud menangani load balancing ke node bidang kontrol untuk
cluster pengguna yang telah diaktifkan
dengan Controlplane V2.
Cluster pengguna Kubeception
Tabel berikut menjelaskan fungsi nilai nodePort
dan lokasi Anda
mengkonfigurasi mereka untuk klaster
pengguna yang menggunakan {i>kubeception<i}.
nodePort |
Konfigurasi |
---|---|
nodePort untuk server Kubernetes API pengguna
{i>cluster <i}(mengelompokkan) |
File konfigurasi cluster pengguna di
Kolom loadBalancer.manualLB.controlPlaneNodePort |
nodePort untuk server Konnektivitas pengguna
cluster (server Konnectivity menggunakan VIP bidang kontrol) |
File konfigurasi cluster pengguna di
Kolom loadBalancer.manualLB.konnectivityServerNodePort |
nodePort HTTP untuk layanan masuk pengguna
{i>cluster <i}(mengelompokkan) |
File konfigurasi cluster pengguna di
loadBalancer.manualLB.ingressHTTPNodePort |
nodePort HTTPS untuk layanan masuk pengguna
{i>cluster <i}(mengelompokkan) |
File konfigurasi cluster pengguna di
loadBalancer.manualLB.ingressHTTPSNodePort |
Contoh file konfigurasi cluster
Contoh berikut menunjukkan sebagian dari cluster admin dan pengguna file konfigurasi:
Cluster admin ketersediaan tinggi (HA)
Versi 1.16 dan yang lebih baru:
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
Versi 1.15 dan yang lebih lama memerlukan VIP dan
nodeport
untuk node add-on.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" addonsVIP: "203.0.113.4" kind: ManualLB manualLB: addonsNodePort: 31405
Cluster admin non-HA
Versi 1.16 dan yang lebih baru:
network: ipMode: type: static ipBlockFilePath: "ipblock-admin.yaml" loadBalancer: vips: controlPlaneVIP: "172.16.21.40" kind: ManualLB manualLB: controlPlaneNodePort: 30562
Versi 1.15 dan yang lebih lama memerlukan VIP dan
nodeport
untuk node add-on.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 konsol pengelolaan atau alat load balancer untuk mengonfigurasi hal berikut pemetaan di load balancer. Cara melakukannya bergantung pada load balancer Anda.
Cluster admin ketersediaan tinggi (HA)
Traffic ke node bidang kontrol
Google Distributed Cloud menangani load balancing bidang kontrol secara otomatis
untuk cluster admin ketersediaan tinggi. Meskipun Anda tidak perlu mengonfigurasi pemetaan
di load balancer, Anda harus menentukan
Kolom loadBalancer.vips.controlPlaneVIP
.
Traffic ke layanan di node add-on
1.15 dan versi sebelumnya: Berikut ini adalah pemetaan ke alamat IP dan
Nilai nodePort
untuk traffic ke layanan di node add-on:
- (
addonsVIP
:8443) -> (NODE_IP_ADDRESSES:addonsNodePort
)
Tambahkan pemetaan ini untuk semua node di cluster admin, keduanya di bidang kontrol dan node add-on.
Pada versi 1.16 dan yang lebih baru, Anda tidak perlu mengkonfigurasi pemetaan ini untuk add-on untuk cluster admin HA.
Cluster admin non-HA
Lalu lintas bidang kontrol
Berikut adalah pemetaan ke alamat IP dan nilai nodePort
untuk
{i>node<i} bidang kontrol:
- (
controlPlaneVIP
:443) -> (NODE_IP_ADDRESSES:controlPlaneNodePort
)
Tambahkan pemetaan ini untuk semua node di cluster admin, keduanya di bidang kontrol dan node add-on.
Traffic ke layanan di node add-on
1.15 dan versi sebelumnya: Berikut ini adalah pemetaan ke alamat IP dan
Nilai nodePort
untuk layanan yang berjalan di node add-on:
- (
addonsVIP
:8443) -> (NODE_IP_ADDRESSES:addonsNodePort
)
Tambahkan pemetaan ini untuk semua node di cluster admin, keduanya di bidang kontrol dan node add-on.
Pada versi 1.16 dan yang lebih baru, Anda tidak perlu mengkonfigurasi pemetaan ini untuk add-on untuk cluster admin non-HA.
Cluster pengguna CP V2
Lalu lintas bidang kontrol
Google Distributed Cloud menangani load balancing bidang kontrol secara otomatis
untuk cluster pengguna dengan
Controlplane V2 yang diaktifkan. Meskipun Anda tidak
mengonfigurasi pemetaan dalam load balancer,
di kolom loadBalancer.vips.controlPlaneVIP
.
Traffic bidang data
Berikut adalah pemetaan ke alamat IP dan nilai nodePort
untuk
lalu lintas bidang data:
- (
ingressVIP
.80
) -> (NODE_IP_ADDRESSES:ingressHTTPNodePort
) - (
ingressVIP
.443
) -> (NODE_IP_ADDRESSES:ingressHTTPSNodePort
)
Tambahkan pemetaan ini untuk semua node di cluster pengguna, kedua node bidang kontrol dan worker node. Karena Anda mengonfigurasi NodePorts pada cluster, Kubernetes membuka NodePorts pada semua node cluster. Cara ini memungkinkan node mana pun dalam cluster menangani lalu lintas bidang data.
Setelah Anda mengonfigurasi pemetaan, load balancer akan memproses traffic alamat IP yang telah Anda konfigurasikan untuk IP masuk cluster pengguna di porta HTTP dan HTTPS standar. Load balancer merutekan permintaan ke node mana pun dalam cluster. Setelah permintaan dirutekan ke salah satu node cluster, jaringan Kubernetes internal mengambil alih dan mengarahkan permintaan ke Pod tujuan.
Cluster pengguna Kubeception
Lalu lintas bidang kontrol
Berikut adalah pemetaan ke alamat IP dan nilai nodePort
untuk
lalu lintas bidang kontrol:
- (
controlPlaneVIP
.443
) -> (NODE_IP_ADDRESSES:controlPlaneNodePort
) - (
controlPlaneVIP
.8132
) -> (NODE_IP_ADDRESSES:konnectivityServerNodePort
)
Tambahkan pemetaan ini untuk semua node di cluster admin, yaitu cluster admin dan node bidang kontrol cluster pengguna.
Traffic bidang data
Berikut adalah pemetaan ke alamat IP dan nilai nodePort
untuk
lalu lintas bidang data:
- (
ingressVIP
.80
) -> (NODE_IP_ADDRESSES:ingressHTTPNodePort
) - (
ingressVIP
.443
) -> (NODE_IP_ADDRESSES:ingressHTTPSNodePort
)
Tambahkan pemetaan ini untuk semua node di cluster pengguna. Dengan cluster pengguna menggunakan kubeception, semua node dalam cluster adalah worker node.
Mereset koneksi ke node yang gagal (Direkomendasikan)
Selain persyaratan sebelumnya, sebaiknya konfigurasi muatan untuk mereset koneksi klien ketika mendeteksi kegagalan node backend. Tanpa konfigurasi ini, klien server Kubernetes API dapat menghentikan merespons selama beberapa menit ketika {i>instance <i} server mati, yang dapat menyebabkan ketidakstabilan di bidang kontrol Kubernetes.
- Dengan F5 BIG-IP, setelan ini disebut Action On Service Down di backend halaman konfigurasi kumpulan kumpulan data.
- Dengan HAProxy, setelan ini disebut sesi shutdown on-marked-down di konfigurasi server backend.
- Jika Anda menggunakan load balancer lain, sebaiknya lihat dokumentasi lain untuk menemukan pengaturan yang setara.
Mendapatkan dukungan untuk load balancing manual
Google tidak menyediakan dukungan untuk load balancer yang dikonfigurasi menggunakan beban manual mode balancing. Jika Anda mengalami masalah dengan load balancer, hubungi vendor load balancer.