Mengonfigurasi mode penerusan load balancing

Dokumen ini menjelaskan dua mode penerusan Dataplane V2 untuk load balancing dan cara mengaktifkannya untuk Google Distributed Cloud. Dataplane V2 mendukung dua mode penerusan untuk load balancing:

  • Penafsiran alamat jaringan sumber (SNAT)
  • Pengembalian Server Langsung (DSR)

Mode penerusan untuk load balancing dapat dikonfigurasi saat Anda membuat cluster saja.

Load balancing SNAT

Penafsiran alamat jaringan sumber (SNAT) adalah mode penerusan default untuk Load balancing Dataplane V2. Namun, dalam mode SNAT, alamat IP klien tidak dipertahankan untuk Pod backend. Ketika paket dari klien tiba di beban node balancer, dan diterjemahkan ke node pekerja tujuan dengan Pod backend. Pod backend melihat bahwa permintaan berasal dari beban node balancer, bukan lokasi klien. Hasilnya, balasannya adalah dikembalikan ke node load balancer dan dikembalikan dengan klien besar.

Alur paket untuk SNAT

Dengan mode penerusan SNAT untuk load balancing Dataplane V2, berikut ini paketnya alur dari klien eksternal ke Pod backend dan kembali:

  • Layanan jenis LoadBalancer ditetapkan ke node load balancer dan IP-nya alamat 172.16.20.16 diiklankan oleh speaker MetalLB yang berjalan pada {i>node<i}.

  • Dataplane V2 menerjemahkan alamat IP sumber dan porta dengan SNAT ke <LB_NODE_IP>:52000 dan meneruskan paket ke node pekerja.

  • Respons akan dikirim kembali ke node load balancer dan tujuannya alamat diterjemahkan kebalikannya.

Diagram berikut menunjukkan alur paket untuk mode SNAT:

Alur paket untuk load balancing Dataplane V2 dalam mode SNAT

Load balancing DSR

Direct Server Return (DSR) mengatasi masalah pada load balancing SNAT. Dalam DSR node load balancer menggunakan Opsi IP untuk menyimpan alamat sumber klien. Node pekerja dapat memulihkan paket asli dan meneruskannya ke backend Pod. Pod backend dapat melihat bahwa paket berasal dari alamat IP klien bukan alamat IP node load balancer. Akibatnya, paket pengembalian langsung kembali ke alamat IP klien alih-alih kembali ke alamat beban node balancer.

Mode ini tidak hanya menyelesaikan masalah visibilitas alamat IP klien, tetapi juga menyimpan bandwidth untuk node load balancer. Lalu lintas pengembalian tidak harus melalui node load balancer, dan node load balancer tidak memerlukan pelacakan koneksi lagi. Pendekatan ini menghemat memori dan membebaskan porta. Untuk beban kerja asimetris, di mana traffic download jauh lebih tinggi daripada permintaan lalu lintas, aliran DSR mengurangi {i>bandwidth <i}secara signifikan.

Alur paket untuk DSR

Dengan mode penerusan DSR untuk load balancing Dataplane V2, berikut ini alur paketnya dari dan klien eksternal ke Pod backend, lalu kembali:

  • Layanan jenis LoadBalancer ditetapkan ke node load balancer dan Alamat IP 172.16.20.16 diiklankan oleh speaker MetalLB yang berjalan di {i>node<i} tersebut.

  • Dataplane V2 meneruskan paket ke {i>worker node<i} dan menggunakan Opsi IP untuk menyimpan porta dan alamat IP sumber klien asli.

  • Dataplane V2 pada node pekerja meneruskan paket ke Pod backend.

  • Pod backend memulihkan port dan alamat IP sumber serta membalas ke dengan klien besar.

Diagram berikut menunjukkan alur paket untuk mode DSR:

Alur paket untuk load balancing Dataplane V2 dalam mode SNAT

Mengaktifkan mode DSR

Untuk mengaktifkan mode DSR, tambahkan spec.clusterNetwork.forwardMode ke file konfigurasi cluster Anda dan tetapkan ke dsr. Seperti disebutkan sebelumnya, Mode SNAT diaktifkan secara default. Anda bisa menentukan mode SNAT secara eksplisit dengan mengatur forwardMode hingga snat. Mode penerusan untuk load balancing Dataplane V2 dapat dikonfigurasi hanya pada waktu pembuatan cluster.

apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
  name: lb-mode
  namespace: cluster-lb-mode
  ...
spec:

  clusterNetwork:
    forwardMode: dsr # valid options are dsr or snat
    pods:
      cidrBlocks:
      - 192.168.0.0/16
    services:
      cidrBlocks:
      - 10.96.0.0/20
...

Nilai forwardMode tidak dapat diubah setelah cluster dibuat. Pastikan Anda telah mengonfigurasi opsi yang tepat sesuai kebutuhan Anda sebelum membuat cluster.