Mengaktifkan mode load balancing manual

Sebaiknya konfigurasikan salah satu mode load balancing berikut:

  • Dengan mode paket, Google Distributed Cloud 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, Google Distributed Cloud menggunakan load balancer pilihan Anda, seperti F5 BIG-IP atau Citrix. Mode load balancing manual mengharuskan Anda melakukan lebih banyak konfigurasi daripada dengan mode paket.

Load balancing manual didukung untuk jenis cluster berikut:

  • Cluster pengguna yang mengaktifkan Controlplane V2. Dengan Controlplane V2, node control plane untuk cluster pengguna berada di cluster pengguna itu sendiri.

  • Cluster pengguna yang menggunakan kubeception. Istilah kubeception mengacu pada kasus saat bidang kontrol untuk cluster pengguna berjalan di satu atau beberapa node di cluster admin. Jika Controlplane V2 tidak diaktifkan, cluster pengguna akan menggunakan kubeception.

Halaman ini menjelaskan langkah-langkah yang perlu Anda lakukan jika memilih untuk menggunakan mode load balancing manual.

Dalam topik ini, Anda menyisihkan alamat IP untuk node 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 alamat IP dan nilai nodePort yang ingin digunakan, lalu mencatatnya dalam spreadsheet atau alat lainnya. Saat siap membuat cluster, Anda memerlukan alamat IP dan nilai nodePort untuk mengisi file konfigurasi untuk cluster admin dan cluster pengguna serta file blok IP untuk cluster Anda.

Anda juga memerlukan alamat IP dan nilai nodePort saat mengonfigurasi load balancer secara manual untuk cluster pengguna.

Menyiapkan alamat IP node

Dengan mode load balancing manual, Anda tidak dapat menggunakan DHCP. Anda harus menentukan alamat IP statis untuk node cluster. 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 akan dicadangkan, lihat Merencanakan alamat IP (Controlplane V2) dan Merencanakan alamat IP (kubeception).

Mengonfigurasi alamat IP

Tempat Anda mengonfigurasi alamat IP statis yang telah Anda sisihkan bergantung pada jenis cluster dan apakah Controlplane V2 diaktifkan di cluster pengguna Anda.

Cluster admin HA

Tabel berikut menjelaskan tujuan alamat IP dan tempat 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 File blok IP cluster admin dan tambahkan jalur di kolom network.ipMode.ipBlockFilePath dalam file konfigurasi cluster admin

Pada versi 1.28 dan yang lebih baru, cluster admin HA baru tidak memiliki node add-on, sehingga Anda tidak perlu menyisihkan alamat IP untuk node add-on seperti pada versi sebelumnya.

Cluster admin non-HA

Tabel berikut menjelaskan tujuan 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 dalam file konfigurasi cluster admin
Node add-on File pemblokiran IP cluster admin

Pada versi 1.28 dan yang lebih baru, semua cluster admin baru harus berupa cluster ketersediaan tinggi (HA) dengan 3 node panel kontrol.

Cluster pengguna CP V2

Tabel berikut menjelaskan tujuan alamat IP dan tempat Anda mengonfigurasinya untuk cluster pengguna dengan Controlplane V2 yang 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 dalam file konfigurasi cluster pengguna

Cluster pengguna Kubeception

Tabel berikut menjelaskan tujuan 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 dalam file konfigurasi cluster admin
Node pekerja File blok IP cluster pengguna dan tambahkan jalur di kolom network.ipMode.ipBlockFilePath dalam file konfigurasi cluster pengguna

Menyiapkan 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 untuk menjangkau server Kubernetes API dan layanan ingress Anda di cluster pengguna.

Mengonfigurasi VIP

Tempat Anda mengonfigurasi VIP bergantung pada jenis cluster.

Cluster admin HA

Tabel berikut menjelaskan tujuan VIP dan tempat Anda mengonfigurasinya 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 lama: Add-on VIP File konfigurasi cluster admin di kolom loadBalancer.vips.addonsVIP

Perhatikan perbedaan versi berikut:

  • Di versi 1.16 dan yang lebih baru, Anda tidak perlu mengonfigurasi VIP add-on untuk cluster admin HA.

  • Di versi 1.28 dan yang lebih baru, cluster admin HA baru tidak memiliki node add-on.

Cluster admin non-HA

Tabel berikut menjelaskan tujuan 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 lama: Add-on VIP File konfigurasi cluster admin di kolom loadBalancer.vips.addonsVIP

Perhatikan perbedaan versi berikut:

Di versi 1.16 dan yang lebih baru, Anda tidak perlu mengonfigurasi VIP add-on untuk cluster admin non-HA.

Cluster pengguna CP V2

Tabel berikut menjelaskan tujuan VIP dan tempat Anda mengonfigurasinya untuk cluster pengguna dengan Controlplane V2 yang diaktifkan.

VIP Konfigurasi
VIP untuk server Kubernetes API dari 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 tempat Anda mengonfigurasinya untuk cluster pengguna yang menggunakan kubeception.

VIP Konfigurasi
VIP untuk server Kubernetes API dari 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

Menyisihkan nilai nodePort

Di Google Distributed Cloud, server Kubernetes API dan layanan ingress ditampilkan oleh Layanan Kubernetes. Dengan mode load balancing manual, Anda harus memilih nilai nodePort Anda sendiri untuk Layanan ini. Pilih nilai dalam rentang 30.000 - 32.767.

Mengonfigurasi nilai nodePort

Tempat Anda mengonfigurasi nilai nodePort bergantung pada apakah cluster pengguna telah mengaktifkan ControlPlane V2.

Cluster admin HA

Tabel berikut menjelaskan tujuan nodePort dan tempat Anda mengonfigurasinya untuk cluster admin HA.

nodePort Konfigurasi
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 tinggi, Anda tidak perlu mengonfigurasi nodePort untuk node add-on untuk cluster admin HA.

Cluster admin non-HA

Tabel berikut menjelaskan tujuan nilai nodePort dan tempat Anda mengonfigurasinya untuk cluster admin non-HA.

nodePort Konfigurasi
1.16 dan yang lebih lama: nodePort untuk server Kubernetes API cluster admin 1.15 dan yang lebih lama: 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 tinggi, Anda tidak perlu mengonfigurasi nodePort untuk node add-on untuk cluster admin non-HA.

Cluster pengguna CP V2

Tabel berikut menjelaskan tujuan nodePorts dan tempat Anda mengonfigurasinya untuk cluster pengguna dengan Controlplane V2 yang diaktifkan.

nodePorts Konfigurasi
HTTP nodePort 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 VIP bidang kontrol karena Google Distributed Cloud menangani load balancing ke node bidang kontrol untuk cluster pengguna dengan Controlplane V2 diaktifkan.

Cluster pengguna Kubeception

Tabel berikut menjelaskan tujuan 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 Konnectivity cluster pengguna (server Konnectivity menggunakan VIP bidang kontrol) File konfigurasi cluster pengguna di kolom loadBalancer.manualLB.konnectivityServerNodePort
HTTP nodePort 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 bagian dari file konfigurasi cluster admin dan pengguna:

Cluster admin HA

  • Versi 1.16 dan yang lebih tinggi:

    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 tinggi:

    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 atau alat pengelolaan load balancer untuk mengonfigurasi pemetaan berikut di load balancer. Cara melakukannya bergantung pada load balancer Anda.

Cluster admin HA

Traffic ke node bidang kontrol

Google Distributed Cloud secara otomatis menangani load balancing traffic bidang kontrol untuk cluster admin HA. Meskipun Anda tidak perlu mengonfigurasi pemetaan di load balancer, Anda harus menentukan alamat IP di kolom loadBalancer.vips.controlPlaneVIP.

Traffic ke layanan di node add-on

1.15 dan yang lebih lama: Berikut ini menunjukkan 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, baik node bidang kontrol maupun node add-on.

Pada versi 1.16 dan yang lebih baru, Anda tidak perlu mengonfigurasi pemetaan ini untuk node add-on untuk cluster admin HA.

Cluster admin non-HA

Traffic bidang kontrol

Berikut ini menunjukkan pemetaan ke alamat IP dan nilai nodePort untuk node bidang kontrol:

  • (controlPlaneVIP:443) -> (NODE_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

1.15 dan yang lebih lama: Berikut ini menunjukkan 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, baik node bidang kontrol maupun node add-on.

Pada versi 1.16 dan yang lebih baru, Anda tidak perlu mengonfigurasi pemetaan ini untuk node add-on untuk cluster admin non-HA.

Cluster pengguna CP V2

Traffic bidang kontrol

Google Distributed Cloud secara otomatis menangani load balancing traffic bidang kontrol untuk cluster pengguna dengan Controlplane V2 yang diaktifkan. Meskipun tidak perlu mengonfigurasi pemetaan di load balancer, Anda harus menentukan alamat IP di kolom loadBalancer.vips.controlPlaneVIP.

Traffic bidang data

Berikut ini menunjukkan pemetaan ke alamat IP dan nilai nodePort untuk traffic bidang data:

  • (ingressVIP:80) -> (NODE_IP_ADDRESSES:ingressHTTPNodePort)
  • (ingressVIP:443) -> (NODE_IP_ADDRESSES:ingressHTTPSNodePort)

Tambahkan pemetaan ini untuk semua node di cluster pengguna, baik node bidang kontrol maupun node pekerja. Karena Anda mengonfigurasi NodePort di cluster, Kubernetes akan membuka NodePort di semua node cluster. Hal ini memungkinkan node mana pun dalam cluster menangani traffic bidang data.

Setelah Anda mengonfigurasi pemetaan, load balancer akan memproses traffic di alamat IP yang Anda konfigurasikan untuk VIP ingress cluster pengguna di port HTTP dan HTTPS standar. Load balancer merutekan permintaan ke node apa pun dalam cluster. Setelah permintaan dirutekan ke salah satu node cluster, jaringan Kubernetes internal akan mengambil alih dan merutekan permintaan ke Pod tujuan.

Cluster pengguna Kubeception

Traffic bidang kontrol

Berikut ini menunjukkan pemetaan ke alamat IP dan nilai nodePort untuk traffic bidang kontrol:

  • (controlPlaneVIP:443) -> (NODE_IP_ADDRESSES:controlPlaneNodePort)
  • (controlPlaneVIP:8132) -> (NODE_IP_ADDRESSES:konnectivityServerNodePort)

Tambahkan pemetaan ini untuk semua node di cluster admin, baik cluster admin maupun node bidang kontrol cluster pengguna.

Traffic bidang data

Berikut ini menunjukkan pemetaan ke alamat IP dan nilai nodePort untuk traffic 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 yang menggunakan kubeception, semua node dalam cluster adalah node pekerja.

Selain persyaratan sebelumnya, sebaiknya konfigurasikan 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 mengalami error, yang dapat menyebabkan instabilitas di 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 shutdown on-marked-down dalam konfigurasi server backend.
  • Jika menggunakan load balancer yang berbeda, 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