Questo documento fornisce un esempio di come configurare un cluster Google Distributed Cloud per utilizzare l'affinità VM-host.
L'affinità del gruppo di host VM è uno dei meccanismi forniti da Google Distributed Cloud per garantire l'alta disponibilità. Con l'affinità Gruppo di VM-host, puoi creare gruppi di host ESXi fisici. Poi configurerai il cluster per associare i gruppi di VM a gruppi di host.
Ad esempio, potresti configurare tutte le VM in un pool di nodi per l'esecuzione su un gruppo host. Inoltre, puoi configurare tutte le VM in un secondo pool di nodi in modo che vengano eseguite su un gruppo di host diverso. Potresti quindi trattare ogni pool di nodi come un dominio di errore. Per differenziare i domini in errore, puoi aggiungere etichette alle VM in tra i vari pool di nodi.
Prima di iniziare
Per questo esercizio, devi disporre di almeno sei host ESXi nel tuo ambiente vSphere.
Crea gruppi di host
Crea due o più gruppi DRS host nel tuo ambiente vSphere. Per questo dell'esercizio, due gruppi di host con tre host ciascuno sarebbero appropriati. Per istruzioni, consulta Creare un gruppo DRS host.
Creazione di un cluster utente
Questa sezione fornisce un esempio di come creare un cluster utente che utilizza VM-Host Affinità gruppo. Il cluster in questo esempio utilizza Controlplane V2. Il cluster ha un piano di controllo per l'alta disponibilità, quindi sono presenti tre nodi del piano di controllo. Nella oltre ai nodi del piano di controllo, ci sono sei nodi worker: tre in uno pool di nodi e tre in un secondo pool di nodi. Tutti i nodi utilizzano indirizzi IP statici.
Per iniziare, segui le istruzioni riportate in Creare un cluster utente (Controlplane V2).
Quando compili il file di configurazione del cluster utente:
- Specifica due pool di nodi per i nodi worker. Per ogni pool di nodi, imposta
replicas
su3
e fornisci il nome di un gruppo di host esistente.
File di configurazione di esempio
Ecco un esempio di un file di blocco IP e di una parte di un cluster utente di configurazione del deployment.
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" ...
Questi sono i punti importanti da comprendere nell'esempio precedente:
Gli indirizzi IP statici per i nodi worker sono specificati in un blocco IP . Il file di blocco IP contiene sette indirizzi anche se sono presenti solo sei nodi di lavoro. L'indirizzo IP aggiuntivo è necessario durante l'upgrade o l'aggiornamento del cluster e riparazione automatica.
Gli indirizzi IP statici per i tre nodi del piano di controllo sono specificati nel Sezione
network.controlPlaneIPBlock
del file di configurazione del cluster utente. Non è necessario un indirizzo IP aggiuntivo in questo blocco.Il campo
masterNode.replicas
è impostato su3
, quindi ci saranno tre nodi del piano di controllo.Un controller del cluster creerà un gruppo DRS VM con i tre nodi nel pool di nodi
worker-pool-1
. Un controller creerà anche una regola di affinità VM-host che garantisce che i nodi inworker-pool-1
vengano eseguiti su host inhostgroup-1
. I nodi inworker-pool-1
hanno l'etichettafailuredomain: "failuredomain-1"
Un controller del cluster creerà un gruppo DRS VM con i tre nodi nel pool di nodi
worker-pool-2
. Un controller creerà anche una regola di affinità VM-host che garantisce che i nodi inworker-pool-2
vengano eseguiti su host inhostgroup-2
. I nodi inworker-pool-2
hanno l'etichettafailuredomain: "failuredomain-2"
Continua a creare il cluster utente come descritto in Crea un cluster utente (Controlplane V2).