Una policy di archiviazione delle VM ti consente di automatizzare il posizionamento dei datastore per i tuoi cluster Google Distributed Cloud. Anziché specificare un singolo datastore, puoi utilizzare le policy per eseguire il provisioning delle VM del cluster su uno spazio di archiviazione che soddisfi i tuoi requisiti di capacità e prestazioni.
Panoramica
In vSphere, la gestione basata su policy di archiviazione (SPBM) consente di allineare lo spazio di archiviazione alle esigenze delle applicazioni delle macchine virtuali. Fornisce un framework delle policy di archiviazione che funge da 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 alternativa alla specifica dei datastores. Definisci le policy di archiviazione in base ai requisiti della tua applicazione, quindi vSphere seleziona e gestisce automaticamente i datastore. In questo modo è possibile ridurre l'overhead e la manutenzione associati allo spazio di 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 control plane 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 control plane ad alta affidabilità e non abbia pool di nodi Windows.
Se specifichi una policy di archiviazione per un cluster utente, questa viene ereditata dai node pool nel cluster utente. Se specifichi una policy di archiviazione per un singolo pool di nodi, questa viene utilizzata al posto della policy di archiviazione a livello di cluster. Analogamente, se specifichi un datastore per un singolo pool di nodi, questo datastore viene utilizzato al posto della policy di archiviazione a livello di cluster.
In un cluster utente in cui è abilitato Controlplane V2, la policy di archiviazione a livello di cluster viene ereditata dai nodi del control plane. Se specifichi una policy di archiviazione o un datastore per i nodi del control plane, questa policy di archiviazione o questo datastore vengono utilizzati al posto della policy di archiviazione a livello di cluster.
Applicazione delle policy di archiviazione ai datastore
Puoi applicare una policy di archiviazione a uno o 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: crea 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.
Applica i tag ai datastore
Per eseguire i passaggi di questo esempio, il tuo ambiente vSphere deve avere almeno due datastores.
Il cluster vSphere che ospiterà i nodi del 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:
- vSphere Tagging.Create vSphere Tag
- vSphere Tagging.Create vSphere Tag Category
- vSphere Tagging.Assign or Unassign vSphere Tag
Nel client vSphere, assegna lo stesso tag a ciascuno dei datastore che hai scelto di utilizzare per questo esercizio. Per istruzioni, consulta Assegna tag ai datastore.
Per ulteriori informazioni, consulta Tag e attributi vSphere.
Crea una policy di archiviazione
Nel client vSphere, 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 Crea 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.
Creazione di un cluster utente
In questo esercizio creerai un cluster utente con un control plane ad alta affidabilità, quindi con tre nodi del control plane. Oltre ai nodi del control plane, 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 Crea un cluster utente.
Durante la compilazione del file di configurazione del cluster utente:
Imposta il valore di
vCenter.storagePolicyNamesul nome di una policy di archiviazione esistente. Non impostare un valore pervCenter.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.datastoresul nome di un datastore esistente.
File di configurazione del cluster di esempio
Di seguito è riportato un esempio di file di blocco IP e 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 blocco IP. Il file del blocco IP contiene sette indirizzi, anche se i nodi worker sono solo sei. 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 control plane sono specificati nella sezione
network.controlPlaneIPBlockdel file di configurazione del cluster utente. Non è necessario un indirizzo IP aggiuntivo in questo blocco.Il campo
masterNode.replicasè impostato su3, quindi saranno presenti tre nodi del control plane. InmasterNode, non è specificato nulla pervsphere.datastoreovsphere.storagePolicyName. Pertanto, i nodi del control plane utilizzeranno la policy di archiviazione specificata invCenter.storagePolicyName.Il file di configurazione del cluster utente include un valore per
vCenter.storagePolicy, ma non pervCenter.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 pervsphere.datastoreovsphere.storagePolicyName. Quindi i nodi innode-pool-1utilizzeranno la policy di archiviazione specificata invCenter.storagePolicyName.In
node-pool-2, il valore divsphere.datastoreèmy-np2-datastore, quindi i nodi innode-pool-2utilizzano quel datastore e non utilizzano una policy di archiviazione.
Continua a creare il cluster utente come descritto in Crea 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 diverso da quello del 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 di vCenter Server separata dal cluster di amministrazione. Poiché i cluster utente e amministratore utilizzano istanze separate di vCenter Server, si trovano anche in data center separati.
Inizia seguendo le istruzioni riportate in Crea un cluster utente.
Durante la compilazione del file di configurazione del cluster utente:
Imposta il valore di
vCenter.storagePolicyNamesul nome di una policy di archiviazione esistente. Non impostare un valore pervCenter.datastore.In
vCenter, specifica i valori peraddress,datacenter,clustereresourcePool.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.datastoresul nome di un datastore esistente.
File di configurazione del cluster di esempio
Di seguito è riportato un esempio di file di blocco IP e 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 pervCenter.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 peraddress,datacenter,clustereresourcePool. Pertanto, il cluster utente utilizzerà un server vCenter, un data center, un cluster vSphere e un pool di risorse diversi rispetto al cluster di amministrazione.È stato specificato un valore per
network.vCenter.networkName.Il campo
masterNode.replicasè impostato su3, quindi saranno presenti tre nodi del control plane. InmasterNode, non è specificato nulla pervsphere.datastoreovsphere.storagePolicyName. Pertanto, i nodi del control plane utilizzeranno la policy di archiviazione specificata invCenter.storagePolicyName.In
node-pool-1, non è specificato nulla pervsphere.datastoreovsphere.storagePolicyName. Quindi i nodi innode-pool-1utilizzeranno la policy di archiviazione specificata invCenter.storagePolicyName.In
node-pool-2, il valore divsphere.datastoreèmy-np2-datastore, quindi i nodi innode-pool-2utilizzano quel datastore e non utilizzano una policy di archiviazione.
Continua a creare il cluster utente come descritto in Crea un cluster utente.