Questo documento è rivolto ai proprietari di applicazioni e agli amministratori di piattaforme
che eseguono Google Distributed Cloud. Questo documento mostra come creare e utilizzare le classi di archiviazione per le VM che utilizzano VM Runtime su GDC. Un StorageClass
ti consente di definire diverse configurazioni di archiviazione per soddisfare le varie
esigenze delle tue VM.
Prima di iniziare
Per completare questo documento, devi accedere a Google Distributed Cloud versione 1.12.0
(anthosBareMetalVersion: 1.12.0) o a un cluster successivo. Puoi utilizzare qualsiasi tipo di cluster in grado di eseguire carichi di lavoro. Se necessario,
prova Google Distributed Cloud su Compute Engine
o consulta la
panoramica della creazione del cluster.
Panoramica delle classi di archiviazione
Utilizzi un StorageClass per definire il tipo di archiviazione che rendi disponibile per le VM. Classi di archiviazione diverse potrebbero essere mappate a un tipo diverso di hardware di archiviazione, file system o prestazioni. Puoi creare e utilizzare le classi di archiviazione per
supportare i tuoi workload di calcolo nel runtime VM su GDC. Per saperne di più, consulta la sezione Classi di archiviazione.
Un StorageClass predefinito può essere definito nella risorsa personalizzata per
VM Runtime su GDC. Se non definisci una classe specifica quando
crei un VirtualMachineDisks,, viene utilizzato questo StorageClass predefinito. Nessun StorageClass iniziale è configurato e impostato come predefinito. Nella sezione seguente, scopri come impostare o aggiornare questa StorageClass predefinita.
Impostare o aggiornare la risorsa StorageClass predefinita
Inizialmente, Google Distributed Cloud con VM Runtime su GDC non ha StorageClass configurato per impostazione predefinita. Per creare un VirtualMachineDisk senza specificare un StorageClass, devi prima creare un StorageClass e poi impostarlo come predefinito.
Se vuoi impostare o aggiornare inizialmente il StorageClass predefinito
utilizzato da VM Runtime su GDC quando crei un VirtualMachineDisk, aggiorna
la risorsa personalizzata VMRuntime.
Modifica la risorsa personalizzata
VMRuntime:kubectl edit vmruntimeAggiungi o aggiorna la sezione
spec.storageche specifica il valore predefinitoStorageClassda utilizzare:apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: enabled: true storage: defaultStorageClass: STORAGE_CLASS_NAME ...Modifica
STORAGE_CLASS_NAMEcon il nome delStorageClasspredefinito che vuoi utilizzare. Se devi prima creare unStorageClass, vedi Creare unStorageClass.Salva e chiudi la risorsa personalizzata
VMRuntimenell'editor.Il
StorageClassche hai specificato viene ora utilizzato quando crei un disco della macchina virtuale e non specifichi unStorageClass. La sezione seguente mostra come creare un disco e utilizzare una StorageClass specifica.Le risorse
VirtualMachineDiskesistenti non vengono aggiornate per utilizzare ilStorageClassappena specificato.
Utilizzare una classe StorageClass specifica
Se non vuoi utilizzare il valore predefinito StorageClass quando crei un
VirtualMachineDisk, utilizza il campo storageClassName per specificare un StorageClass diverso.
Per utilizzare un StorageClass specifico già definito quando crei un
VirtualMachineDisk, completa i seguenti passaggi:
Crea un file manifest
VirtualMachineDisk, ad esempiomy-disk.yaml, nell'editor che preferisci:nano my-disk.yamlCopia e incolla il seguente manifest YAML:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: DISK_NAME spec: size: 10Gi storageClassName: STORAGE_CLASS_NAMESostituisci i seguenti valori:
DISK_NAME: il nome del disco.STORAGE_CLASS_NAME: ilStorageClassda utilizzare per il disco. QuestoStorageClassdeve esistere già. Se devi prima creare unStorageClass, consulta Creare una StorageClass.
Salva e chiudi il file manifest del disco nell'editor.
Crea il disco utilizzando
kubectl:kubectl apply -f my-disk.yaml
Configura i profili di archiviazione
I profili di archiviazione forniscono opzioni di configurazione aggiuntive associate a ogni
StorageClass. Queste opzioni di configurazione includono la modalità di accesso e la modalità volume
da utilizzare per VirtualMachineDisks che utilizzano StorageClass.
Senza un profilo di archiviazione configurato, i dischi utilizzano per impostazione predefinita la modalità di accesso ReadWriteOnce. Questa modalità di accesso non è sufficiente per i carichi di lavoro di produzione, in quanto
funzionalità come la migrazione live non funzionano. La modalità volume predefinita senza un profilo di archiviazione configurato è Filesystem.
VM Runtime su GDC genera automaticamente un profilo di archiviazione per
ogni StorageClass in un cluster. Il profilo di archiviazione ha lo stesso nome del
StorageClass associato. L'output di esempio seguente mostra che il cluster
ha quattro classi di archiviazione e profili associati:
$ kubectl get storageprofiles
NAME AGE
anthos-system 11d
node-disk 11d
standard 11d
nfs 11d
Per modificare un profilo di archiviazione e cambiare la modalità di accesso o la modalità volume, completa i seguenti passaggi:
Modifica la risorsa personalizzata
StorageProfileper la modifica:kubectl edit storageprofile STORAGE_PROFILE_NAMESostituisci
STORAGE_PROFILE_NAMEcon ilStorageProfileche vuoi modificare.Aggiungi una singola voce all'elenco
spec.claimPropertySetsdiStorageProfile:apiVersion: cdi.kubevirt.io/v1beta1 kind: StorageProfile metadata: name: nfs spec: claimPropertySets: - accessModes: - ACCESS_MODE volumeMode: VOLUME_MODEaccessModeevolumeModeutilizzano i componenti Kubernetes sottostanti. I valori impostati dipendono dal driver di archiviazione utilizzato. Sostituisci i seguenti valori in base allo spazio di archiviazione che utilizzi:ACCESS_MODE: la modalità di accesso che vuoi utilizzare. Se supportata dalStorageClassassociato, la modalità di accesso preferita èReadWriteMany.- I valori accettabili includono
ReadWriteOnce,ReadOnlyMany,ReadWriteManyeReadWriteOncePod. Se non specificato, viene utilizzatoReadWriteOncein base ai valori predefiniti di VM Runtime su GDC. Per maggiori informazioni, vedi Modalità di accesso.
- I valori accettabili includono
VOLUME_MODE: la modalità del volume che vuoi utilizzare.- I valori accettabili includono
FilesystemeBlock. Se non specificato,Filesystemviene utilizzato in base ai valori predefiniti di Kubernetes. Per ulteriori informazioni, vedi Modalità volume.
- I valori accettabili includono
Salva e chiudi la risorsa personalizzata
StorageProfilenell'editor.Le impostazioni del profilo di archiviazione che hai definito vengono utilizzate quando crei dischi virtuali. Le risorse
VirtualMachineDiskesistenti non vengono aggiornate per utilizzare le impostazioni del profilo di archiviazione definito.
Passaggi successivi
- Crea e gestisci dischi in Google Distributed Cloud.
Crea e utilizza le credenziali per importare immagini da Cloud Storage.