Configura una policy di archiviazione

Questo documento mostra come configurare una policy di archiviazione delle VM per un cluster Google Distributed Cloud.

Panoramica

In vSphere, la gestione basata su policy di archiviazione (SPBM) consente di allineare l'archiviazione alle esigenze delle applicazioni delle macchine virtuali. Fornisce un framework di policy di archiviazione che funge da unico pannello di controllo unificato per un'ampia gamma di servizi dati e soluzioni di archiviazione.

In Google Distributed Cloud, puoi specificare le policy di archiviazione come un alternativa alla specifica dei datastores. Definisci le policy di archiviazione in base ai requisiti dell'applicazione, quindi vSphere seleziona e gestisce automaticamente i datastore. In questo modo è possibile ridurre il sovraccarico e la manutenzione associati all'archiviazione.

Ereditarietà

Puoi specificare una policy 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 una policy di archiviazione per un cluster di amministrazione, a condizione che il cluster di amministrazione abbia un piano di controllo ad alta affidabilità e non abbia node pool Windows.

Se specifichi una policy di archiviazione per un cluster utente, la policy viene ereditata dai node pool nel cluster utente. Se specifichi una policy di archiviazione per un singolo pool di nodi, viene utilizzata questa policy anziché la policy di archiviazione a livello di cluster. Allo stesso modo, se specifichi un datastore per un singolo pool di nodi, viene utilizzato questo datastore anziché la policy di archiviazione a livello di cluster.

In un cluster utente con Controlplane V2 abilitato, la policy di archiviazione a livello di cluster viene ereditata dai nodi del piano di controllo. Se specifichi una policy di archiviazione o un datastore per i nodi del piano di controllo, viene utilizzata questa policy di archiviazione o questo datastore anziché la policy di archiviazione a livello di cluster.

Applicazione di policy di archiviazione ai datastore

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

Esempio: creare una policy di archiviazione e un cluster utente

Questa sezione fornisce un esempio di creazione di una policy di archiviazione e di un cluster utente. Questo esempio illustra l'idea che una policy di archiviazione può essere applicata a due datastore.

Applicare 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 del cluster utente deve avere accesso ai datastores che intendi utilizzare per questo esercizio. Esiste un controllo preliminare che verifica questa condizione.

L'account vCenter che utilizzi per applicare i tag deve avere i seguenti privilegi di tagging vSphere privilegi sul vCenter Server root:

  • Tagging vSphere.Crea tag vSphere
  • Tagging vSphere.Crea categoria di tag vSphere
  • 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 istruzioni, consulta Assegnare tag ai datastore.

Per ulteriori informazioni, consulta Tag e attributi vSphere.

Creare una policy di archiviazione

In vSphere Client, crea una policy di archiviazione delle VM per il posizionamento basato su tag. Nella policy di archiviazione, specifica il tag che hai applicato ai datastore scelti. Per istruzioni, consulta Creare una policy di archiviazione delle VM per il posizionamento basato su tag.

Per ulteriori informazioni, consulta Policy di archiviazione delle VM.

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

Creare 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.

Inizia seguendo le istruzioni riportate in Creare un cluster utente.

Quando compili il file di configurazione del cluster utente:

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

  • Specifica due node pool. 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 di vsphere.datastore sul nome di un datastore esistente.

File di configurazione del cluster di esempio

Di seguito è riportato un esempio di file di blocchi 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"
...

Ecco i punti importanti da comprendere nell'esempio precedente:

  • Gli indirizzi IP statici per i nodi worker sono specificati in un file di blocchi IP. Il file di blocchi IP ha 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 saranno presenti tre nodi del piano di controllo. In masterNode, non è specificato nulla per vsphere.datastore o vsphere.storagePolicyName. Pertanto, i nodi del piano di controllo utilizzeranno la policy di archiviazione specificata in vCenter.storagePolicyName.

  • Il file di configurazione del cluster utente include un valore per vCenter.storagePolicy, ma non include un valore per vCenter.datastore. La policy di archiviazione specificata verrà utilizzata dai nodi in qualsiasi pool che non specifica la propria policy 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 la policy di archiviazione specificata in vCenter.storagePolicyName.

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

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

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

Un cluster utente può trovarsi in un data center separato dal cluster di amministrazione. 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 separata di vCenter Server dal cluster di amministrazione. Poiché i cluster utente e di amministrazione utilizzano istanze separate di vCenter Server, si trovano anche in data center separati.

Inizia seguendo le istruzioni riportate in Creare un cluster utente.

Quando compili il file di configurazione del cluster utente:

  • Imposta il valore di vCenter.storagePolicyName sul nome di una policy 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 node pool. 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 di vsphere.datastore sul nome di un datastore esistente.

File di configurazione del cluster di esempio

Di seguito è riportato un esempio di file di blocchi 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"
...

Ecco 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. La policy di archiviazione specificata verrà utilizzata dai nodi in qualsiasi pool di nodi che non specifica la propria policy 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 dal cluster di amministrazione.

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

  • Il campo masterNode.replicas è impostato su 3, quindi saranno presenti tre nodi del piano di controllo. In masterNode, non è specificato nulla per vsphere.datastore o vsphere.storagePolicyName. Pertanto, i nodi del piano di controllo utilizzeranno la policy di archiviazione specificata in vCenter.storagePolicyName.

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

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

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

Passaggi successivi