Configura l'affinità gruppo VM-host

Questo documento fornisce un esempio di come configurare un cluster Google Distributed Cloud utilizzare Affinità host VM.

L'affinità del gruppo VM-host è uno dei meccanismi forniti da Google Distributed Cloud per garantire l'alta disponibilità. Con l'affinità gruppo VM-host, puoi creare gruppi host ESXi fisici. Quindi 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 per l'esecuzione su una un gruppo di host diverso. Quindi, potresti trattare ogni pool di nodi come un dominio in 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 avere almeno sei host ESXi nella tua istanza vSphere completamente gestito di Google Cloud.

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, vedi Crea 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 il piano di controllo V2. Il cluster ha un con un piano di controllo ad alta disponibilità, quindi ci sono tre nodi. Nel 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.

Inizia seguendo le istruzioni in Crea 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 su 3 e specifica il nome di un gruppo 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

cluster-utente-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 dei blocchi IP ha sette indirizzi anche se ce ne sono solo sei nodi worker. 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 su 3, quindi ci sono tre dai nodi del piano di controllo.

  • Un controller di cluster creerà un gruppo DRS di VM contenente i tre nodi il pool di nodi worker-pool-1. Un controller creerà anche Regola di affinità host VM che garantisce che i nodi in worker-pool-1 vengano eseguiti su host che si trovano in hostgroup-1. I nodi in worker-pool-1 hanno l'etichetta failuredomain: "failuredomain-1"

  • Un controller di cluster creerà un gruppo DRS di VM contenente i tre nodi il pool di nodi worker-pool-2. Un controller creerà anche Regola di affinità dell'host VM che garantisce l'esecuzione dei nodi in worker-pool-2 sugli host che si trovano in hostgroup-2. I nodi in worker-pool-2 hanno l'etichetta failuredomain: "failuredomain-2"

Continua a creare il cluster utente come descritto in Crea un cluster utente (Controlplane V2).