Dokumen ini memberikan contoh cara mengonfigurasi cluster Google Distributed Cloud untuk menggunakan afinitas VM-Host.
Afinitas Grup VM-Host adalah salah satu mekanisme yang disediakan Google Distributed Cloud untuk memastikan ketersediaan tinggi. Dengan afinitas Grup VM-Host, Anda membuat grup host ESXi fisik. Kemudian, Anda mengonfigurasi cluster untuk mengaitkan grup VM dengan grup host.
Misalnya, Anda dapat mengonfigurasi semua VM dalam satu node pool untuk berjalan di grup host tertentu. Anda juga dapat mengonfigurasi semua VM di node pool kedua untuk berjalan di grup host yang berbeda. Kemudian, Anda dapat memperlakukan setiap node pool sebagai domain kegagalan. Untuk membedakan domain kegagalan, Anda dapat menambahkan label ke VM di berbagai node pool.
Penggunaan afinitas Grup VM-Host tidak didukung di cluster lanjutan.
Sebelum memulai
Untuk latihan ini, Anda harus memiliki setidaknya enam host ESXi di lingkungan vSphere.
Membuat grup host
Buat dua atau beberapa grup DRS host di lingkungan vSphere. Untuk latihan ini, dua grup host yang masing-masing memiliki tiga host akan sesuai. Untuk mengetahui petunjuknya, lihat Membuat Grup DRS Host.
Membuat cluster pengguna
Bagian ini memberikan contoh cara membuat cluster pengguna yang menggunakan afinitas Grup VM-Host. Cluster dalam contoh ini menggunakan Controlplane V2. Cluster memiliki bidang kontrol ketersediaan tinggi, sehingga ada tiga node bidang kontrol. Selain node bidang kontrol, ada enam node pekerja: tiga di satu node pool dan tiga di node pool kedua. Semua node menggunakan alamat IP statis.
Mulailah dengan mengikuti petunjuk di Membuat cluster pengguna.
Saat Anda mengisi file konfigurasi cluster pengguna:
- Tentukan dua node pool untuk node pekerja. Untuk setiap node pool, tetapkan
replicaske3, dan berikan nama grup host yang ada.
Contoh file konfigurasi
Berikut adalah contoh file blok IP dan sebagian file konfigurasi cluster pengguna.
user-ipblock.yaml
blocks:
- netmask: 255.255.255.0
gateway: 172.16.21.1
ips:
- ip: 172.16.21.2
- ip: 172.16.21.3
- ip: 172.16.21.4
- ip: 172.16.21.5
- ip: 172.16.21.6
- ip: 172.16.21.7
- ip: 172.16.21.8
user-cluster-yaml
apiVersion: v1
kind: UserCluster
...
network:
hostConfig:
dnsServers:
- "203.0.113.2"
- "198.51.100.2"
ntpServers:
- "216.239.35.4"
ipMode:
type: "static"
ipBlockFilePath: "user-ipblock.yaml"
controlPlaneIPBlock:
netmask: "255.255.255.0"
gateway: "172.16.21.1"
ips:
- ip: "172.16.21.9"
hostname: "cp-vm-1"
- ip: "172.16.21.10"
hostname: "cp-vm-2"
- ip: "172.16.21.11"
hostname: "cp-vm-3"
loadBalancer:
vips:
controlPlaneVIP: "172.16.21.40"
ingressVIP: "172.16.21.30"
kind: MetalLB
metalLB:
addressPools:
- name: "address-pool-1"
addresses:
- "172.16.21.30-172.16.21.39"
...
enableControlplaneV2: true
masterNode:
cpus: 4
memoryMB: 8192
replicas: 3
nodePools:
- name: "worker-pool-1"
enableLoadBalancer: true
replicas: 3
vsphere:
hostgroups:
- "hostgroup-1"
labels:
failuredomain: "failuredomain-1"
- name: "worker-pool-2"
replicas: 3
vsphere:
hostgroups:
- "hostgroup-2"
labels:
failuredomain: "failuredomain-2"
...
Berikut adalah poin-poin penting yang perlu dipahami dalam contoh sebelumnya:
Alamat IP statis untuk node pekerja ditentukan dalam file blok IP. File blok IP memiliki tujuh alamat meskipun hanya ada enam node pekerja. Alamat IP tambahan diperlukan selama upgrade, update, dan perbaikan otomatis cluster.
Alamat IP statis untuk tiga node bidang kontrol ditentukan di bagian
network.controlPlaneIPBlockdari file konfigurasi cluster pengguna. Tidak perlu alamat IP tambahan di blok ini.Kolom
masterNode.replicasditetapkan ke3, sehingga akan ada tiga node bidang kontrol.Pengontrol cluster akan membuat grup DRS VM yang memiliki tiga node di node pool
worker-pool-1. Pengontrol juga akan membuat aturan afinitas VM-Host yang memastikan node diworker-pool-1akan berjalan di host yang ada dihostgroup-1. Node diworker-pool-1memiliki labelfailuredomain: "failuredomain-1"Pengontrol cluster akan membuat grup DRS VM yang memiliki tiga node di node pool
worker-pool-2. Pengontrol juga akan membuat aturan afinitas VM-Host yang memastikan node diworker-pool-2akan berjalan di host yang ada dihostgroup-2. Node diworker-pool-2memiliki labelfailuredomain: "failuredomain-2"
Lanjutkan membuat cluster pengguna seperti yang dijelaskan di Membuat cluster pengguna.