Load balancing gabungan dengan Seesaw

GKE di VMware dapat berjalan dalam salah satu dari tiga mode load balancing: terintegrasi, manual, atau terpaket. Dokumen ini menunjukkan cara mengonfigurasi GKE di VMware untuk menjalankan load balancer Seesaw. dalam mode paket.

Petunjuk yang diberikan di sini sudah lengkap. Untuk pengantar yang lebih singkat tentang cara menggunakan load balancer Seesaw, lihat Load balancer Seesaw (panduan memulai).

Dalam mode load balancing yang dipaketkan, GKE di VMware menyediakan dan mengelola load balancer. Anda tidak perlu mendapatkan lisensi untuk load balancer, dan jumlah penyiapan yang harus Anda lakukan sangat minim.

Dokumen ini menunjukkan cara mengonfigurasi load balancer Seesaw untuk cluster admin dan satu cluster pengguna terkait. Anda dapat menjalankan load balancer Seesaw pada satu VM, atau menjalankan load balancer dalam mode ketersediaan tinggi (HA), yang menggunakan dua VM. Dalam mode HA, load balancer Seesaw menggunakan Virtual Router Redundancy Protocol (VRRP). Kedua VM ini disebut Master dan Cadangan. Setiap VM Seesaw diberi ID router virtual (VRID) pilihan Anda.

Contoh konfigurasi Seesaw

Berikut adalah contoh konfigurasi untuk cluster yang menjalankan load balancer Seesaw dalam mode HA:

Konfigurasi load balancer seesaw dalam mode HA.
Melihat konfigurasi load balancer seesaw dalam mode HA (Klik untuk memperbesar)

Diagram sebelumnya menunjukkan dua VM Seesaw masing-masing untuk cluster admin dan cluster pengguna. Dalam contoh ini, cluster admin dan cluster pengguna berada di dua VLAN terpisah, dan setiap cluster berada di subnet terpisah:

Cluster Subnet
Cluster admin 172.16.20.0/24
Cluster pengguna 172.16.40.0/24

admin-cluster.yaml

Contoh file konfigurasi cluster admin berikut menunjukkan konfigurasi yang terlihat dalam diagram sebelumnya tentang:

  • Alamat IP master untuk pasangan VM Seesaw yang melayani cluster admin.

  • VIP yang ditetapkan untuk server Kubernetes API dari cluster admin.

network:
  hostConfig:
  ...

  ipMode:
    type: "static"
    ipBlockFilePath: "config-folder/admin-cluster-ipblock.yaml"
...

loadBalancer:
  seesaw:
    ipBlockFilePath: "config-folder/admin-seesaw-ipblock.yaml"
    masterIP: 172.16.20.57
  ...

  vips:
    controlPlaneVIP: "172.16.20.70"
    addonsVIP: "172.16.20.71"

admin-cluster-ipblock.yaml

Contoh file blok IP berikut menunjukkan penetapan alamat IP untuk node di cluster admin. Ini juga mencakup alamat untuk node bidang kontrol cluster pengguna dan alamat IP yang akan digunakan selama upgrade cluster.

blocks:
- netmask: "255.255.255.0"
  gateway: "17.16.20.1"
  ips:
  - ip: 172.16.20.50
    hostname: admin-vm-1
  - ip: 172.16.20.51
    hostname: admin-vm-2
  - ip: 172.16.20.52
    hostname: admin-vm-3
  - ip: 172.16.20.53
    hostname: admin-vm-4
  - ip: 172.16.20.54
    hostname: admin-vm-5

admin-seesaw-ipblock.yaml

Contoh file blok IP lain berikut menentukan dua alamat IP untuk VM Seesaw yang melayani cluster admin. Perhatikan bahwa ini adalah file blok IP terpisah untuk VM load balancing, bukan node cluster.

blocks:
  - netmask: "255.255.255.0"
    gateway: "172.16.20.1"
    ips:
    - ip: "172.16.20.60"
      hostname: "admin-seesaw-vm-1"
    - ip: "172.16.20.61"
      hostname: "admin-seesaw-vm-2"

user-cluster.yaml

Contoh file konfigurasi cluster pengguna berikut ini menunjukkan konfigurasi:

  • Alamat IP master untuk pasangan VM Seesaw yang melayani cluster pengguna.

  • VIP yang ditetapkan untuk server Kubernetes API dan layanan ingress di cluster pengguna. VIP server Kubernetes API berada di subnet cluster admin karena bidang kontrol untuk cluster pengguna berjalan pada node di cluster admin.

network:
  hostConfig:
  ...

  ipMode:
    type: "static"
    ipBlockFilePath: "config-folder/user-cluster-ipblock.yaml"
...

loadBalancer:
  seesaw:
    ipBlockFilePath: "config-folder/user-seesaw-ipblock.yaml"
    masterIP: 172.16.40.31
  ...

  vips:
    controlPlaneVIP: "172.16.20.72"
    ingressVIP: "172.16.40.100"

user-cluster-ipblock.yaml

Contoh file blok IP berikut menunjukkan penetapan alamat IP untuk node di cluster pengguna. Ini termasuk alamat IP yang akan digunakan selama upgrade cluster.

blocks:
- netmask: "255.255.255.0"
  gateway: "17.16.40.1"
  ips:
  - ip: 172.16.40.21
    hostname: user-vm-1
  - ip: 172.16.40.22
    hostname: user-vm-2
  - ip: 172.16.40.23
    hostname: user-vm-3
  - ip: 172.16.40.24
    hostname: user-vm-4
  - ip: 172.16.40.25
    hostname: user-vm-5

user-seesaw-ipblock.yaml

Contoh file blok IP lain berikut menentukan dua alamat IP untuk VM Seesaw yang melayani cluster pengguna.

blocks:
  - netmask: "255.255.255.0"
    gateway: "172.16.40.1"
    ips:
    - ip: "172.16.40.29"
      hostname: "user-seesaw-vm-1"
    - ip: "172.16.40.30"
      hostname: "user-seesaw-vm-2"

Grup port

Tabel berikut menjelaskan konfigurasi antarmuka jaringan untuk setiap VM Seesaw, dan grup port yang terhubung seperti yang terlihat dalam diagram sebelumnya.

VM Seesaw Antarmuka jaringan Konfigurasi antarmuka jaringan Grup Port yang Terhubung
Master antarmuka-jaringan-1 VIP load balancing
network-interface-2 (antarmuka-jaringan-2) Alamat IP yang diambil dari file blok IP untuk VM Seesaw node-cluster
Cadangan antarmuka-jaringan-1 Tidak ada konfigurasi load balancing
network-interface-2 (antarmuka-jaringan-2) Alamat IP yang diambil dari file blok IP untuk VM Seesaw node-cluster

Node cluster juga terhubung ke grup port node cluster.

Seperti yang ditunjukkan pada tabel sebelumnya, masing-masing VM Seesaw untuk admin dan cluster pengguna memiliki dua antarmuka jaringan. Untuk setiap VM Seesaw, kedua antarmuka jaringan terhubung ke dua grup port terpisah:

  • grup port load-balancer

  • grup port node cluster

Dua grup porta untuk sebuah cluster berada di VLAN yang sama untuk cluster tersebut.

Menyiapkan load balancer Seesaw

Diagram sebelumnya menunjukkan konfigurasi jaringan yang direkomendasikan untuk load balancing Seesaw. Saat merencanakan konfigurasi Anda sendiri, kami sangat menyarankan Anda menggunakan vSphere 6.7 atau yang lebih baru, dan Virtual Distributed Switch (VDS) 6.6 atau yang lebih baru, untuk mode load balancing yang dipaketkan.

Jika mau, Anda dapat menggunakan versi sebelumnya, tetapi penginstalan Anda akan kurang aman. Bagian lainnya dalam topik ini memberikan detail lebih lanjut tentang keunggulan keamanan dari penggunaan vSphere 6.7+ dan VDS 6.6+.

Rencanakan VLAN Anda

Dengan mode load balancing yang dipaketkan, sebaiknya Anda memiliki cluster di VLAN terpisah.

Jika cluster admin Anda berada di VLAN-nya sendiri, traffic bidang kontrol terpisah dari traffic bidang data. Pemisahan ini melindungi cluster admin dan bidang kontrol cluster pengguna dari kesalahan konfigurasi yang tidak disengaja. Kesalahan tersebut dapat menyebabkan, misalnya, timbulnya masalah seperti badai siaran karena loop lapisan 2 dalam VLAN yang sama, atau alamat IP yang bertentangan yang menghilangkan pemisahan yang diinginkan antara bidang data dan bidang kontrol.

Menyediakan resource VM

Untuk VM yang menjalankan load balancer Seesaw, sediakan resource CPU dan memori sesuai dengan traffic jaringan yang ingin Anda temui.

Load balancer Seesaw tidak menggunakan banyak memori, dan dapat berjalan di VM dengan memori 1 GB. Namun, persyaratan CPU meningkat seiring peningkatan kecepatan paket jaringan.

Tabel berikut menunjukkan panduan penyimpanan, CPU, dan memori untuk penyediaan VM Seesaw. Karena kecepatan paket bukan merupakan ukuran standar performa jaringan, tabel juga menunjukkan panduan untuk jumlah maksimum koneksi jaringan yang aktif. Pedoman ini mengasumsikan lingkungan tempat VM memiliki link 10 Gbps dan CPU berjalan pada kapasitas kurang dari 70%.

Saat berjalan dalam mode HA, load balancer Seesaw menggunakan pasangan(Master, Pencadangan).), sehingga semua traffic mengalir melalui satu VM. Karena kasus penggunaan yang sebenarnya bervariasi, panduan ini perlu diubah berdasarkan traffic Anda yang sebenarnya. Pantau metrik kecepatan paket dan CPU untuk menentukan perubahan yang diperlukan.

Jika perlu mengubah CPU dan memori untuk VM Seesaw, lihat Mengupgrade load balancer. Perlu diperhatikan bahwa Anda dapat menggunakan versi load balancer yang sama, serta mengubah jumlah CPU dan alokasi memori.

Untuk cluster admin kecil, sebaiknya gunakan 2 CPU, dan untuk cluster admin besar, sebaiknya gunakan 4 CPU.

Penyimpanan CPU Memori Kecepatan paket (pps) Koneksi aktif maksimum
20 GB 1 (non-produksi) 1 GB 250 rb 100
20 GB 2 3 GB 450 rb 300
20 GB 4 3 GB 850 rb 6.000
20 GB 6 3 GB 1.000 rb 10.000

Sisihkan alamat VIP dan IP

VIP

Terlepas dari pilihan mode load balancing, Anda harus menyisihkan beberapa alamat IP virtual (VIP) yang ingin digunakan untuk load balancing. VIP ini memungkinkan klien eksternal menjangkau server Kubernetes API, layanan ingress, dan layanan add-on Anda.

Pikirkan juga berapa banyak Layanan dari jenis LoadBalancer yang kemungkinan akan aktif di cluster pengguna Anda pada waktu tertentu, dan sisihkan cukup VIP untuk Layanan ini. Saat Anda membuat Layanan jenis LoadBalancer nanti, cluster Anthos di VMware akan otomatis mengonfigurasi VIP Layanan di load balancer.

Alamat IP node

Dengan mode load balancing yang dipaketkan, Anda dapat menentukan alamat IP statis untuk node cluster, atau node cluster Anda dapat memperoleh alamat IP dari server DHCP.

Jika Anda ingin node cluster Anda memiliki alamat IP statis, sisihkan alamat yang cukup untuk node di cluster admin dan node di semua cluster pengguna yang ingin Anda buat. Selain itu, sisihkan alamat IP tambahan untuk setiap cluster untuk digunakan selama upgrade cluster. Untuk mengetahui detail tentang jumlah alamat IP node yang perlu disisihkan, lihat Membuat cluster admin.

Alamat IP untuk VM Seesaw

Selanjutnya, untuk setiap cluster, admin, dan pengguna, sisihkan alamat IP untuk VM yang akan menjalankan load balancer Seesaw. Jumlah alamat yang Anda sisihkan bergantung pada apakah Anda ingin membuat load balancer Seesaw dengan ketersediaan tinggi (HA) atau load balancer Seesaw non-HA.

Alamat IP master

Selain alamat IP untuk VM Seesaw, Anda juga menyisihkan satu alamat IP master untuk pasangan VM Seesaw bagi setiap cluster.

Konfigurasi non-HA

Jika konfigurasi Anda adalah konfigurasi non-HA:

  • Untuk cluster admin, sisihkan satu alamat IP untuk Seesaw VM, dan satu alamat IP master untuk load balancer Seesaw. Kedua alamat ini harus berada di VLAN yang sama dengan node cluster admin Anda.

  • Untuk cluster pengguna, sisihkan satu alamat IP untuk Seesaw VM, dan satu alamat IP master untuk load balancer Seesaw. Kedua alamat ini harus berada di VLAN yang sama dengan node cluster pengguna.

Merencanakan grup port

Diagram sebelumnya menjelaskan dua grup port yang digunakan dalam konfigurasi HA, dan cara keduanya terhubung ke antarmuka jaringan di VM Seesaw. Untuk masing-masing Seesaw VM, tentukan apakah Anda ingin dua antarmuka jaringan terhubung ke grup port vSphere yang sama atau ke grup port yang terpisah. Jika Anda tidak mengaktifkan pembelajaran MAC, Anda dapat memiliki satu grup port. Jika grup port terpisah, grup port tersebut harus berada di VLAN yang sama.

Membuat file blok IP

Untuk setiap cluster, admin dan pengguna, tentukan alamat yang telah Anda pilih untuk VM Seesaw dalam file blok IP. Jika ingin menggunakan alamat IP statis untuk node cluster, Anda harus membuat file blok IP terpisah untuk alamat tersebut.

Isi file konfigurasi Anda

Siapkan file konfigurasi untuk cluster admin dan file konfigurasi lainnya untuk cluster pengguna.

Dalam file konfigurasi untuk cluster tertentu, tetapkan loadBalancer.kind ke "Seesaw".

Di loadBalancer, isi bagian seesaw:

loadBalancer:
  kind: Seesaw
  seesaw:

Untuk informasi tentang cara mengisi bagian seesaw file konfigurasi cluster, lihat loadbalancer.seesaw (cluster admin) atau loadbalancer.seesaw (cluster pengguna).

Di file konfigurasi cluster admin, tetapkan hal berikut:

  • VIP untuk server Kubernetes API dari cluster admin
  • VIP untuk add-on cluster admin
  • Alamat IP master untuk pasangan VM Seesaw yang melayani cluster admin.

VIP ini harus berada di subnet cluster admin.

Di file konfigurasi cluster pengguna, tetapkan:

  • VIP untuk server Kubernetes API dari cluster pengguna (ini harus berada di subnet cluster admin)
  • VIP Ingress di cluster pengguna
  • Alamat IP master untuk pasangan VM Seesaw yang melayani cluster pengguna.

Dua alamat terakhir dalam daftar sebelumnya harus berada di subnet cluster pengguna.

Mengaktifkan pembelajaran MAC atau mode promiscuous (khusus HA)

Jika Anda menyiapkan load balancer Seesaw non-HA, Anda dapat melewati bagian ini.

Jika Anda telah menetapkan loadBalancer.seesaw.disableVRRPMAC ke true (benar), Anda dapat melewati bagian ini.

Jika Anda menyiapkan load balancer Seesaw dengan ketersediaan tinggi (HA) dan telah menetapkan loadBalancer.seesaw.disableVRRPMAC ke false, Anda harus mengaktifkan beberapa kombinasi pembelajaran MAC, transmisi palsu, dan mode promiscuous di grup port load-balancer.

Cara mengaktifkan fitur ini bervariasi sesuai dengan jenis tombol yang Anda miliki:

Jenis tombolMengaktifkan fiturDampak keamanan
vSphere 7.0 VDS Untuk vSphere 7.0 dengan HA, Anda harus menetapkan loadBalancer.seesaw.disableVRRPMAC ke true. MAC learning tidak didukung.
vSphere 6.7 dengan VDS 6.6

Aktifkan pembelajaran MAC dan transmisi palsu untuk load balancer Anda dengan menjalankan perintah ini: gkectl prepare network --config [CONFIG_FILE], dengan [CONFIG_FILE] adalah jalur file konfigurasi cluster Anda. Anda memerlukan izin dvPort group.Modify untuk melakukannya.

Minimal. Jika grup port load-balancer Anda hanya terhubung ke VM Seesaw, Anda dapat membatasi pembelajaran MAC ke VM Seesaw tepercaya.

vSphere 6.5 atau

vSphere 6.7 dengan versi VDS lebih rendah dari 6.6

Aktifkan mode promiscuous dan transmisi palsu untuk grup port load-balancer Anda. Gunakan antarmuka pengguna vSphere pada halaman grup port di tab Networking: Edit Settings -> Security. Semua VM pada grup port load-balancer Anda berada dalam mode {i>promiscuous<i}. Jadi, setiap VM di grup port load balancer Anda dapat melihat semua traffic. Jika grup port load-balancer Anda hanya terhubung ke VM Seesaw, maka hanya VM tersebut yang dapat melihat semua traffic.
Tombol logis NSX-T Aktifkan pembelajaran MAC pada tombol akses logis. vSphere tidak mendukung pembuatan dua tombol logis dalam domain lapisan-2 yang sama. Oleh karena itu, VM Seesaw dan node cluster harus berada di tombol logis yang sama. Ini berarti bahwa pembelajaran MAC diaktifkan untuk semua node cluster. Penyerang mungkin bisa mendapatkan spoof MAC dengan menjalankan Pod dengan hak istimewa di cluster.
Tombol Standar vSphere Aktifkan mode promiscuous dan transmisi palsu untuk grup port load-balancer Anda. Gunakan antarmuka pengguna vSphere pada setiap host ESXI: Configure -> Virtual switch -> Standard Switch -> Edit Settings on the port group -> Security. Semua VM pada grup port load-balancer Anda berada dalam mode {i>promiscuous<i}. Jadi, setiap VM di grup port load balancer Anda dapat melihat semua traffic. Jika grup port load balancer Anda hanya terhubung ke VM Seesaw, maka hanya VM tersebut yang dapat melihat semua traffic.

Selesaikan pengisian file konfigurasi cluster admin Anda

Ikuti petunjuk di Membuat cluster admin untuk menyelesaikan pengisian file konfigurasi cluster admin Anda.

Menjalankan pemeriksaan preflight

Jalankan pemeriksaan preflight pada file konfigurasi cluster admin Anda:

gkectl check-config --config ADMIN_CLUSTER_CONFIG

Ganti ADMIN_CLUSTER_CONFIG dengan jalur file konfigurasi cluster admin Anda.

Mengupload OS image

Upload OS image ke lingkungan vSphere Anda:

gkectl prepare --config ADMIN_CLUSTER_CONFIG

Membuat load balancer untuk cluster admin

gkectl create loadbalancer --config [ADMIN_CLUSTER_CONFIG]

Buat cluster admin

Ikuti petunjuk di Membuat cluster admin untuk membuat cluster admin.

Selesaikan pengisian file konfigurasi cluster pengguna Anda

Ikuti petunjuk di bagian Membuat cluster pengguna untuk menyelesaikan pengisian file konfigurasi cluster pengguna Anda.

Menjalankan pemeriksaan preflight

Jalankan pemeriksaan preflight pada file konfigurasi cluster pengguna Anda:

gkectl check-config --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG

Ganti kode berikut:

  • ADMIN_CLUSTERE_KUBECONFIG: jalur file kubeconfig cluster admin Anda

  • USER_CLUSTER_CONFIG: jalur file konfigurasi cluster pengguna Anda

Mengupload OS image

Upload OS image ke lingkungan vSphere Anda:

gkectl prepare --config USER_CLUSTER_CONFIG

Membuat load balancer untuk cluster pengguna

Buat load balancer untuk cluster pengguna Anda:

gkectl create loadbalancer --config USER_CLUSTER_CONFIG

Buat cluster pengguna Anda

Ikuti petunjuk dalam artikel Membuat cluster pengguna untuk membuat cluster pengguna.

Pengujian performa dan beban

Throughput download aplikasi Anda diskalakan secara linear dengan jumlah backend. Hal ini karena backend mengirimkan respons langsung ke klien, dengan mengabaikan load balancer, menggunakan Return Server Langsung.

Sebaliknya, throughput upload aplikasi dibatasi oleh kapasitas satu Seesaw VM yang menjalankan load balancing.

Aplikasi bervariasi jumlah CPU dan memori yang dibutuhkannya, sehingga sangat penting bagi Anda untuk melakukan uji beban sebelum mulai melayani klien dalam jumlah besar.

Pengujian menunjukkan bahwa satu Seesaw VM dengan 6 CPU dan memori 3 GB dapat menangani 10 GB/dtk (kecepatan baris) upload traffic dengan 10 K koneksi TCP serentak. Namun, Anda harus menjalankan uji beban sendiri jika berencana untuk mendukung koneksi TCP serentak dalam jumlah besar.

Batas penskalaan

Dengan load balancing yang dipaketkan, ada batasan untuk skala cluster yang dapat diskalakan. Ada batasan jumlah node di cluster Anda, dan ada batasan jumlah Layanan yang dapat dikonfigurasi di load balancer Anda. Ada batasan untuk health check. Jumlah health check bergantung pada jumlah node dan jumlah Layanan.

Mulai versi 1.3.1, jumlah health check bergantung pada jumlah node dan jumlah traffic Layanan lokal. Layanan lokal traffic adalah Layanan yang menetapkan externalTrafficPolicy-nya ke "Local".

Versi 1.3.0Versi 1.3.1 dan yang lebih baru
Layanan Maks (S)100500
Node maks (N)100100
Health check maks S * N <= 10 RBN + L * N <= 10K, di mana L adalah jumlah traffic layanan lokal

Contoh: Dalam versi 1.3.1, misalkan Anda memiliki 100 node dan 99 traffic Layanan lokal. Maka,jumlah health check adalah 100 + 99 * 100 = 10.000, yang berada dalam batas 10 ribu.

Mengupgrade load balancer untuk cluster

Saat Anda mengupgrade cluster, load balancer akan otomatis diupgrade. Anda tidak perlu menjalankan perintah terpisah untuk mengupgrade load balancer. Jika load balancer Anda berada dalam mode HA, GKE di VMware akan membuat ulang VM load balancer secara bergantian. Untuk mencegah gangguan layanan selama upgrade, cluster akan memulai failover sebelum membuat VM baru.

Jika mau, Anda dapat mengupdate CPU atau memori VM Seesaw tanpa melakukan upgrade penuh. Edit nilai cpus dan memoryMB terlebih dahulu dalam file konfigurasi cluster Anda. Contoh:

apiVersion: v1
bundlePath:
loadBalancer:
  kind: Seesaw
  seesaw:
    cpus: 3
    memoryMB: 3072

Kemudian, untuk mengupdate load balancer untuk cluster admin:

gkectl upgrade loadbalancer --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
    --config ADMIN_CLUSTER_CONFIG --admin-cluster
Untuk memperbarui load balancer untuk cluster pengguna:
gkectl upgrade loadbalancer --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
    --config USER_CLUSTER_CONFIG

Ganti kode berikut:

  • ADMIN_CLUSTER_KUBECONFIG: jalur file kubeconfig cluster admin Anda

  • ADMIN_CLUSTER_CONFIG: jalur file konfigurasi cluster admin Anda

  • USER_CLUSTER_CONFIG: jalur file konfigurasi cluster pengguna Anda

Lihat log Seesaw

Load balancer paket Seesaw menyimpan file log di VM Seesaw di /var/log/seesaw/. File log yang paling penting adalah seesaw_engine.INFO.

Mulai v1.6, jika Stackdriver diaktifkan, log juga diupload ke Cloud. Anda dapat melihatnya di bagian resource "anthos_l4lb". Untuk menonaktifkan upload log, Anda dapat melakukan ssh ke VM dan menjalankan:

sudo systemctl disable --now docker.fluent-bit.service

Melihat informasi tentang Seesaw VM

Anda bisa mendapatkan informasi tentang Seesaw VM untuk cluster dari resource kustom SeesawGroup.

Lihat resource kustom SeesawGroup untuk cluster:

kubectl --kubeconfig CLUSTER_KUBECONFIG get seesawgroups -n kube-system -o yaml

Ganti CLUSTER_KUBECONFIG dengan jalur file kubeconfig cluster.

Output-nya memiliki kolom isReady yang menunjukkan apakah VM siap menangani traffic atau tidak. Output tersebut juga menampilkan nama dan alamat IP VM Seesaw, serta VM mana yang merupakan VM utama:

apiVersion: seesaw.gke.io/v1alpha1
kind: SeesawGroup
metadata:
  ...
  name: seesaw-for-cluster-1
  namespace: kube-system
  ...
spec: {}
status:
  machines:
  - hostname: cluster-1-seesaw-1
    ip: 172.16.20.18
    isReady: true
    lastCheckTime: "2020-02-25T00:47:37Z"
    role: Master
  - hostname: cluster-1-seesaw-2
    ip: 172.16.20.19
    isReady: true
    lastCheckTime: "2020-02-25T00:47:37Z"
    role: Backup

Lihat metrik Seesaw

Load balancer paket Seesaw menyediakan metrik berikut:

  • Throughput per Layanan atau node
  • Kecepatan paket per Layanan atau node
  • Koneksi aktif per Layanan atau node
  • Penggunaan CPU dan memori
  • Jumlah Pod backend yang responsif per Layanan
  • VM mana yang utama dan mana yang merupakan cadangan
  • Waktu beroperasi

Mulai v1.6, metrik tersebut diupload ke Cloud dengan Stackdriver. Anda dapat melihatnya di bagian resource pemantauan "anthos_l4lb".

Anda juga dapat menggunakan solusi pemantauan dan dasbor pilihan Anda, selama solusi tersebut mendukung format Prometheus.

Menghapus load balancer

Jika Anda menghapus cluster yang menggunakan load balancing yang dipaketkan, Anda harus menghapus VM Seesaw untuk cluster tersebut. Anda dapat melakukannya dengan menghapus VM Seesaw di antarmuka pengguna vSphere.

Sebagai alternatif, Anda dapat menjalankan gkectl delete loadbalancer.

Untuk cluster admin:

gkectl delete loadbalancer --config ADMIN_CLUSTER_CONFIG --seesaw-group-file GROUP_FILE

Untuk cluster pengguna:

gkectl delete loadbalancer  --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG \
    --seesaw-group-file GROUP_FILE

Ganti kode berikut:

  • ADMIN_CLUSTER_CONFIG: jalur file konfigurasi cluster admin

  • USER_CLUSTER_CONFIG: jalur file konfigurasi cluster pengguna

  • ADMIN_CLUSTER_KUBECONFIG: jalur file kubeconfig cluster admin

  • GROUP_FILE: jalur file grup Seesaw. Nama file grup menggunakan formulir ini
    seesaw-for-CLUSTER_NAME-IDENTIFIER.yaml.
    Contoh: seesaw-for-gke-admin-12345.yaml.

Mengonfigurasi kebijakan firewall terdistribusi NSX-T stateless untuk digunakan dengan load balancer Seesaw

Jika konfigurasi Anda menggunakan firewall stateful NSX-T yang terdistribusi, dan Anda juga ingin menggunakan load balancer Seesaw, Anda memiliki beberapa opsi. Pilih yang paling sesuai dengan lingkungan Anda.

Checklist konfigurasi NSX

Sebelum menerapkan salah satu opsi perbaikan yang dijelaskan, pastikan Anda menerapkan konfigurasi NSX DFW berikut:

  • Bagian DFW NSX stateful adalah konfigurasi default. Mungkin inilah yang Anda temukan di lingkungan Anda. Lihat Bagian Firewall dan Aturan Firewall.

  • Penyisipan layanan terkadang digunakan dengan NSX DFW untuk memberikan perantaian layanan dan inspeksi L7 sebagai bagian dari integrasi partner. Kebijakan penyisipan layanan juga stateful secara default. Untuk memastikan integrasi ini diaktifkan di lingkungan Anda, tinjau informasi berikut.

Opsi 1--Buat kebijakan firewall terdistribusi stateless untuk load balancer Seesaw

Dengan opsi ini, Anda dapat tetap mengaktifkan firewall terdistribusi di lingkungan, sembari memetakan infrastruktur Anthos, khususnya load balancer Seesaw, ke Kebijakan stateless. Pastikan untuk mempertimbangkan perbedaan antara firewall stateless dan stateful, untuk memastikan Anda memilih jenis yang paling sesuai dengan lingkungan Anda. Lihat Bagian Menambahkan Aturan Firewall dalam Mode Pengelola--Prosedur--Langkah 6 dalam dokumentasi VMware.

Untuk membuat kebijakan firewall stateless:

  1. Buka Inventaris > Tag. Buat tag bernama seesaw.

  2. Buka Inventaris > Grup. Buat grup bernama Seesaw.

  3. Mengonfigurasi anggota kumpulan Seesaw.

    • Klik Tetapkan Anggota. Konfigurasikan anggota set dengan Kriteria Keanggotaan berdasarkan tag seesaw yang Anda buat. Meskipun penggunaan tag NSX umumnya dianggap sebagai praktik terbaik oleh VMware, metodologi ini mengharuskan otomatisasi untuk menyetelnya setiap kali lingkungan berubah, seperti saat Anda mengupgrade atau mengubah ukuran cluster Anthos di lingkungan Anda. Dalam hal ini, kebijakan yang didasarkan pada beberapa kriteria keanggotaan lainnya mungkin akan berfungsi lebih baik. Anda dapat menggunakan opsi keanggotaan dinamis lainnya, seperti Nama VM (termasuk ekspresi reguler), segmen, dan port segmen. Untuk informasi selengkapnya tentang kriteria keanggotaan grup, lihat Menambahkan Grup.
  4. Buka Security > Distributed Firewall. Buat bagian bernama Anthos.

  5. Klik ikon roda gigi di kanan atas dan alihkan tombol Stateful ke Tidak.

  6. Tambahkan aturan ke bagian tersebut. Sebaiknya tambahkan minimal dua aturan simetris, seperti berikut:

    Source: Seesaw Group, Destination: Any, Applied to: Seesaw Group
    Source: Any, Destination: Seesaw Group, Applied to: Seesaw Group
    

  7. Publikasikan perubahan dan verifikasi operasi.

Bagian stateless harus ditempatkan dalam tabel NSX DFW sehingga lebih diutamakan daripada bagian lain yang mungkin mengizinkan traffic yang sama secara stateful, sehingga menutupi aturan stateless. Pastikan bagian stateless yang paling spesifik, dan mendahului kebijakan lain yang berpotensi menimbulkan tumpang tindih.

Meskipun tidak wajib, Anda dapat membuat grup yang mencakup semua VM Anthos, menggunakan kriteria keanggotaan yang terperinci seperti Tag Segmen, yang berarti semua VM yang terhubung ke jaringan NSX tertentu akan disertakan dalam grup. Selanjutnya, Anda dapat menggunakan grup ini dalam kebijakan stateless Anda.

Opsi 2--Tambahkan VM Seesaw ke daftar pengecualian firewall terdistribusi

Dengan opsi ini, Anda dapat mengecualikan VM dari inspeksi firewall terdistribusi sepenuhnya tanpa menonaktifkan NSX DFW. Lihat Mengelola Daftar Pengecualian Firewall.

  1. Buka Security > Distributed Firewall. Pilih Tindakan > Daftar Pengecualian.

  2. Pilih Seesaw Group, atau grup yang mencakup semua VM Anthos.

Pemecahan masalah

Mendapatkan koneksi SSH ke Seesaw VM

Terkadang, Anda mungkin ingin menggunakan SSH ke Seesaw VM untuk memecahkan masalah atau melakukan proses debug.

Mendapatkan kunci SSH

Jika Anda telah membuat cluster, gunakan langkah-langkah berikut untuk mendapatkan kunci SSH:

  1. Dapatkan Rahasia seesaw-ssh dari cluster. Dapatkan kunci SSH dari Secret dan dekode dalam base64. Simpan kunci yang didekode dalam file sementara:

    kubectl --kubeconfig CLUSTER_KUBECONFIG get -n  kube-system secret seesaw-ssh -o \
    jsonpath='{@.data.seesaw_ssh}' | base64 -d | base64 -d > /tmp/seesaw-ssh-key
    

    Ganti CLUSTER_KUBECONFIG dengan jalur file kubeconfig cluster.

  2. Tetapkan izin yang sesuai untuk file kunci:

    chmod 0600 /tmp/seesaw-ssh-key

    Jika Anda belum membuat cluster, gunakan langkah-langkah berikut untuk mendapatkan kunci SSH:

  3. Cari file yang bernama seesaw-for-CLUSTER_NAME-IDENTIFIER.yaml.

    File ini disebut file grup dan terletak di samping config.yaml.

    Selain itu, gkectl create loadbalancer akan mencetak lokasi file grup.

  4. Dalam file tersebut, dapatkan nilai credentials.ssh.privateKey, dan lakukan dekode dalam base64. Simpan kunci yang didekode dalam file sementara:

    cat seesaw-for-CLUSTER_NAME-IDENTIFIER.yaml  | grep privatekey | sed 's/    privatekey: //g' \
    | base64 -d > /tmp/seesaw-ssh-key
    
  5. Tetapkan izin yang sesuai untuk file kunci:

    chmod 0600 /tmp/seesaw-ssh-key
    

Sekarang Anda dapat menerapkan SSH ke Seesaw VM:

ssh -i /tmp/seesaw-ssh-key ubuntu@SEESAW_IP

Ganti SEESAW_IP dengan alamat IP VM Seesaw.

Mendapatkan snapshot

Anda dapat mengambil snapshot untuk VM Seesaw menggunakan perintah gkectl diagnose snapshot beserta flag --scenario.

Jika Anda menetapkan --scenario ke all atau all-with-logs, outputnya akan mencakup snapshot Seesaw beserta snapshot lainnya.

Jika Anda menetapkan --scenario ke seesaw, output hanya akan menyertakan snapshot Seesaw.

Contoh:

gkectl diagnose snapshot --kubeconfig ADMIN_CLUSTER_KUBECONFIG --scenario seesaw

gkectl diagnose snapshot --kubeconfig ADMIN_CLUSTER_KUBECONFIG --cluster-name CLUSTER_NAME --scenario seesaw

gkectl diagnose snapshot --seesaw-group-file GROUP_FILE --scenario seesaw

Ganti kode berikut:

  • ADMIN_CLUSTER_KUBECONFIG: jalur file kubeconfig cluster admin

  • GROUP_FILE: jalur file grup untuk cluster.

Membuat ulang VM Seesaw dari status rusak

Jika Seesaw VM tidak sengaja dihapus, Anda dapat membuat ulang VM menggunakan perintah gkectl upgrade loadbalancer dengan flag --no-diff dan --force. Tindakan ini akan membuat ulang semua VM Seesaw di cluster Anda, terlepas dari keberadaan atau status responsnya. Jika load balancer Anda berada dalam mode HA, dan hanya satu dari dua VM yang dihapus, menjalankan perintah ini akan membuat ulang kedua VM.

Misalnya, untuk membuat ulang load balancer Seesaw di cluster admin, jalankan perintah berikut:

gkectl upgrade loadbalancer --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
    --config ADMIN_CLUSTER_CONFIG --admin-cluster --no-diff --force

Untuk membuat ulang load balancer Seesaw di cluster pengguna, jalankan perintah berikut:

gkectl upgrade loadbalancer --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
    --config USER_CLUSTER_CONFIG --no-diff --force

Ganti kode berikut:

  • ADMIN_CLUSTER_KUBECONFIG: jalur file kubeconfig cluster admin Anda

  • ADMIN_CLUSTER_CONFIG: jalur file konfigurasi cluster admin Anda

  • USER_CLUSTER_CONFIG: jalur file konfigurasi cluster pengguna Anda

Masalah umum

Cisco ACI tidak berfungsi dengan Direct Server Return (DSR)

Seesaw berjalan dalam mode DSR dan secara default tidak berfungsi di Cisco ACI karena adanya pembelajaran IP bidang data. Solusi yang dapat dilakukan menggunakan Grup Endpoint Aplikasi dapat ditemukan di sini.

Citrix Netscaler tidak berfungsi dengan Direct Server Return (DSR)

Jika Anda menjalankan load balancer Netscaler di depan Seesaw, Penerusan Berbasis MAC (MBF) harus dinonaktifkan. Baca dokumentasi Citrix.

Upgrade load balancer Seesaw tidak berfungsi dalam beberapa kasus

Jika Anda mencoba mengupgrade cluster dari versi 1.8.0, atau menggunakan gkectl upgrade loadbalancer untuk mengupdate beberapa parameter load balancer Seesaw di versi 1.8.0, tindakan ini tidak akan berfungsi dalam mode DHCP atau IPAM. Tunggu perbaikan yang diumumkan pada versi mendatang sebelum Anda melakukan upgrade.