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:
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.
VIP yang ditetapkan untuk add-on Prometheus dan Grafana di cluster admin. Cluster pengguna menggunakan VIP ini untuk komunikasi metrik dengan 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
Versi yang direkomendasikan
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 tombol | Mengaktifkan fitur | Dampak 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: |
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.0 | Versi 1.3.1 dan yang lebih baru | |
---|---|---|
Layanan Maks (S) | 100 | 500 |
Node maks (N) | 100 | 100 |
Health check maks | S * N <= 10 RB | N + 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
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:
Buka Inventaris > Tag. Buat tag bernama
seesaw
.Buka Inventaris > Grup. Buat grup bernama
Seesaw
.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.
- Klik Tetapkan Anggota. Konfigurasikan anggota set dengan Kriteria Keanggotaan berdasarkan tag
Buka Security > Distributed Firewall. Buat bagian bernama
Anthos
.Klik ikon roda gigi di kanan atas dan alihkan tombol Stateful ke Tidak.
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
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.
Buka Security > Distributed Firewall. Pilih Tindakan > Daftar Pengecualian.
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:
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.
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:
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.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
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.