Configurare un criterio di archiviazione

Questo documento mostra come configurare un criterio di archiviazione VM per un cluster Google Distributed Cloud.

Panoramica

In vSphere, Storage Policy Based Management (SPBM) aiuta ad allineare lo spazio di archiviazione alle esigenze delle applicazioni delle macchine virtuali. Fornisce un framework di criteri di archiviazione che funge da singolo pannello di controllo unificato per un'ampia gamma di servizi dati e soluzioni di archiviazione.

In Google Distributed Cloud, puoi specificare i criteri di archiviazione come alternativa alla specifica dei datastores. Definisci i criteri di archiviazione in base ai requisiti dell'applicazione, quindi vSphere seleziona e gestisce automaticamente i datastore. In questo modo è possibile ridurre le spese generali e la manutenzione associate allo spazio di archiviazione.

Eredità

Puoi specificare un criterio di archiviazione per un cluster utente, un pool di nodi in un cluster utente o un insieme di nodi del piano di controllo in un cluster utente. Puoi anche specificare un criterio di archiviazione per un cluster di amministrazione, a condizione che il cluster di amministrazione abbia un piano di controllo ad alta disponibilità e non abbia pool di nodi Windows.

Se specifichi un criterio di archiviazione per un cluster utente, il criterio viene ereditato dai pool di nodi nel cluster utente. Se specifichi un criterio di archiviazione per un singolo pool di nodi, questo viene utilizzato al posto del criterio di archiviazione a livello di cluster. Analogamente, se specifichi un datastore per un singolo pool di nodi, questo viene utilizzato anziché il criterio di archiviazione a livello di cluster.

In un cluster utente in cui è abilitato il control plane v2, il criterio di archiviazione a livello di cluster viene ereditato dai nodi del piano di controllo. Se specifichi un criterio di archiviazione o un datastore per i nodi del piano di controllo, viene utilizzato il criterio di archiviazione o il datastore anziché il criterio di archiviazione a livello di cluster.

Applicazione delle norme di archiviazione ai datastore

Puoi applicare un criterio di archiviazione a un singolo datastore o a più datastore. Se applichi un criterio di archiviazione a più datastore, le risorse di archiviazione per un cluster di amministrazione, un cluster di utenti o un pool di nodi possono essere distribuite tra i datastore.

Esempio: crea un criterio di archiviazione e un cluster di utenti

Questa sezione fornisce un esempio di creazione di un criterio di archiviazione e di un cluster di utenti. Questo esempio illustra l'idea che un criterio di archiviazione può essere applicato a due datastore.

Applicare i tag ai datastore

Per eseguire i passaggi di questo esempio, l'ambiente vSphere deve avere almeno due datastores.

Il cluster vSphere che ospiterà i nodi per il cluster utente deve avere accesso ai datastore che prevedi di utilizzare per questo esercizio. Esiste un controllo preflight che lo verifica.

L'account vCenter che utilizzi per applicare i tag deve disporre dei seguenti privilegi di tagging vSphere sul server vCenter principale:

  • Tagging vSphere.Create vSphere Tag
  • Tagging vSphere.Create vSphere Tag Category
  • Tagging vSphere.Assegna o annulla l'assegnazione del tag vSphere

In vSphere Client, assegna lo stesso tag a ciascuno dei datastore che hai scelto di utilizzare per questo esercizio. Per le istruzioni, consulta Assegnare tag ai datastore.

Per ulteriori informazioni, consulta Tag e attributi vSphere.

Crea un criterio di archiviazione

In vSphere Client, crea un criterio di archiviazione delle VM per il posizionamento basato su tag. Nel criterio di archiviazione, specifica il tag che hai applicato ai datastore selezionati. Per le istruzioni, consulta Creare un criterio di archiviazione VM per il posizionamento basato su tag.

Per ulteriori informazioni, consulta le norme relative allo spazio di archiviazione delle VM.

Se utilizzi un datastore vSAN, consulta Criteri di archiviazione vSAN.

Creazione di un cluster utente

In questo esercizio crei un cluster utente con un piano di controllo ad alta disponibilità, quindi sono presenti tre nodi del piano di controllo. Oltre ai nodi del piano di controllo, sono presenti sei nodi worker, tre in un 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.

Mentre compili il file di configurazione del cluster utente:

  • Imposta il valore di vCenter.storagePolicyName sul nome di un criterio di archiviazione esistente. Non impostare un valore per vCenter.datastore.

  • Specifica due pool di nodi. Per il primo pool di nodi, non specificare un datastore e non specificare una policy di archiviazione. Per il secondo pool di nodi, imposta il valore vsphere.datastore sul nome di un datastore esistente.

File di configurazione del cluster di esempio

Di seguito è riportato un esempio di file di blocco IP e di una parte di un file di configurazione del cluster utente.

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
...
vCenter:
  storagePolicyName: "my-storage-policy"
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
- name: "worker-pool-2"
  vSphere:
    datastore: "my-np2-datastore"
...

Di seguito sono riportati i punti importanti da comprendere nell'esempio precedente:

  • Gli indirizzi IP statici per i nodi worker sono specificati in un file di blocco IP. Il file di blocco IP contiene sette indirizzi anche se sono presenti solo sei nodi worker. L'indirizzo IP aggiuntivo è necessario durante l'upgrade, l'aggiornamento e la riparazione automatica del cluster.

  • Gli indirizzi IP statici per i tre nodi del piano di controllo sono specificati nella 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 saranno tre nodi del piano di controllo. In masterNode, non è specificato nulla per vsphere.datastore o vsphere.storagePolicyName. Pertanto, i nodi del control plane utilizzeranno il criterio di archiviazione specificato in vCenter.storagePolicyName.

  • Il file di configurazione del cluster utente include un valore per vCenter.storagePolicy, ma non include un valore per vCenter.datastore. Il criterio di archiviazione specificato verrà utilizzato dai nodi di qualsiasi pool che non specifica il proprio criterio di archiviazione o il proprio datastore.

  • In node-pool-1, non è specificato nulla per vsphere.datastore o vsphere.storagePolicyName. Pertanto, i nodi in node-pool-1 utilizzeranno il criterio di archiviazione specificato in vCenter.storagePolicyName.

  • In node-pool-2, il valore di vsphere.datastore è my-np2-datastore, quindi i nodi in node-pool-2 utilizzano quel datastore e non un criterio di archiviazione.

Continua a creare il cluster utente come descritto in Creare un cluster utente.

Crea un cluster utente in un data center separato dal cluster di amministrazione

Un cluster utente può trovarsi in un data center distinto da quello del cluster amministrativo. I due data center possono utilizzare la stessa istanza di vCenter Server o istanze diverse di vCenter Server.

Questa sezione fornisce un esempio di come creare un cluster utente che utilizza un'istanza distinta di vCenter Server rispetto al cluster di amministrazione. Poiché i cluster di utenti e di amministrazione utilizzano istanze separate di vCenter Server, si trovano anche in data center distinti.

Per iniziare, segui le istruzioni riportate in Creare un cluster utente.

Mentre compili il file di configurazione del cluster utente:

  • Imposta il valore di vCenter.storagePolicyName sul nome di un criterio di archiviazione esistente. Non impostare un valore per vCenter.datastore.

  • In vCenter, specifica i valori per address, datacenter, cluster e resourcePool.

  • Specifica un valore per network.vCenter.networkName.

  • Specifica due pool di nodi. Per il primo pool di nodi, non specificare un datastore e non specificare una policy di archiviazione. Per il secondo pool di nodi, imposta il valore vsphere.datastore sul nome di un datastore esistente.

File di configurazione del cluster di esempio

Di seguito è riportato un esempio di file di blocco IP e di una parte di un file di configurazione del cluster utente.

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
...
vCenter:
  address: "my-vcenter-server-2.my-domain.example"
  datacenter: "my-uc-data-center"
  cluster: "my-uc-vsphere-cluster"
  resourcePool: "my-uc-resource-pool"
  storagePolicyName: "my-storage-policy"
network:
  vCenter:
    networkName: "my-uc-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
- name: "worker-pool-2"
  vSphere:
    datastore: "my-np2-datastore"
...

Di seguito sono riportati i punti importanti da comprendere nell'esempio precedente:

  • Il file di configurazione del cluster utente include un valore per vCenter.storagePolicy, ma non include un valore per vCenter.datastore. Il criterio di archiviazione specificato verrà utilizzato dai nodi di qualsiasi pool di nodi che non specifica il proprio criterio di archiviazione o il proprio datastore.

  • In vCenter sono specificati i valori per address, datacenter, cluster e resourcePool. Pertanto, il cluster utente utilizzerà un vCenter Server, un data center, un cluster vSphere e un pool di risorse diversi rispetto al cluster amministrativo.

  • È stato specificato un valore per network.vCenter.networkName.

  • Il campo masterNode.replicas è impostato su 3, quindi ci saranno tre nodi del piano di controllo. In masterNode, non è specificato nulla per vsphere.datastore o vsphere.storagePolicyName. Pertanto, i nodi del control plane utilizzeranno il criterio di archiviazione specificato in vCenter.storagePolicyName.

  • In node-pool-1, non è specificato nulla per vsphere.datastore o vsphere.storagePolicyName. Pertanto, i nodi in node-pool-1 utilizzeranno il criterio di archiviazione specificato in vCenter.storagePolicyName.

  • In node-pool-2, il valore di vsphere.datastore è my-np2-datastore, quindi i nodi in node-pool-2 utilizzano quel datastore e non un criterio di archiviazione.

Continua a creare il cluster utente come descritto in Creare un cluster utente.

Passaggi successivi