Questo documento è rivolto ai proprietari di applicazioni e agli amministratori della piattaforma che eseguono Google Distributed Cloud. Questo documento illustra come creare e utilizzare le classi di archiviazione per le VM che utilizzano il runtime VM 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 avere accesso al cluster Google Distributed Cloud versione 1.12.0
(anthosBareMetalVersion: 1.12.0
) o successiva. 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 dei cluster.
Panoramica delle classi di archiviazione
Utilizza un StorageClass
per definire il tipo di archiviazione reso disponibile per le VM. Classi di archiviazione diverse potrebbero essere associate a un tipo diverso di hardware di archiviazione, file system o prestazioni. Puoi creare e utilizzare classi di archiviazione per supportare i tuoi workload di calcolo nel runtime VM su GDC. Per ulteriori informazioni, consulta la sezione Classi di archiviazione.
Nella risorsa personalizzata per il runtime VM su GDC è possibile definire un valore StorageClass
predefinito. 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, scoprirai come impostare o aggiornare questo StorageClass predefinito.
Impostare o aggiornare la classe di archiviazione predefinita
Inizialmente, Google Distributed Cloud con il runtime VM su GDC non ha StorageClass
predefinito configurato. Per creare un VirtualMachineDisk
senza specificare un StorageClass
, devi prima creare un StorageClass
e impostarlo come predefinito.
Se vuoi impostare o aggiornare inizialmente il StorageClass
predefinito utilizzato dal runtime VM su GDC quando crei un VirtualMachineDisk
, aggiorna la risorsa personalizzata VMRuntime
.
Modifica la risorsa personalizzata
VMRuntime
:kubectl edit vmruntime
Aggiungi o aggiorna la sezione
spec.storage
che specifica il valore predefinitoStorageClass
da utilizzare:apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: enabled: true storage: defaultStorageClass: STORAGE_CLASS_NAME ...
Modifica
STORAGE_CLASS_NAME
con il nome del valore predefinitoStorageClass
che vuoi utilizzare. Se devi prima creare unStorageClass
, consulta Creare unStorageClass
.Salva e chiudi la risorsa personalizzata
VMRuntime
nell'editor.Il
StorageClass
specificato viene ora utilizzato quando crei un disco della macchina virtuale e non specifichi unStorageClass
. La sezione seguente descrive come creare un disco e utilizzare un StorageClass specifico.Le risorse
VirtualMachineDisk
esistenti non vengono aggiornate per utilizzare il nuovoStorageClass
specificato.
Utilizzare una classe StorageClass specifica
Se non vuoi utilizzare il valore StorageClass
predefinito quando crei un
VirtualMachineDisk
, utilizza il campo storageClassName
per specificare un valore
StorageClass
diverso.
Per utilizzare un StorageClass
specifico e già definito quando crei un
VirtualMachineDisk
, segui questi passaggi:
Crea un file manifest
VirtualMachineDisk
, ad esempiomy-disk.yaml
, nell'editor che preferisci:nano my-disk.yaml
Copia e incolla il seguente manifest YAML:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: DISK_NAME spec: size: 10Gi storageClassName: STORAGE_CLASS_NAME
Sostituisci i seguenti valori:
DISK_NAME
: il nome del disco.STORAGE_CLASS_NAME
: ilStorageClass
da utilizzare per il tuo disco. QuestoStorageClass
deve già esistere. Se devi prima creare unStorageClass
, consulta Creare un StorageClass.
Salva e chiudi il 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à di volume da utilizzare per i VirtualMachineDisks
che utilizzano il StorageClass
.
In assenza di un profilo di archiviazione configurato, per i dischi viene utilizzata per impostazione predefinita la modalità di accesso ReadWriteOnce
. Questa modalità di accesso non è sufficiente per i carichi di lavoro di produzione, poiché funzionalità come migrazione live non funzionano. La modalità del volume predefinita senza un
profilo di archiviazione configurato è Filesystem
.
Il runtime VM 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'esempio di output riportato di seguito 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à del volume:
Modifica la risorsa personalizzata
StorageProfile
:kubectl edit storageprofile STORAGE_PROFILE_NAME
Sostituisci
STORAGE_PROFILE_NAME
con ilStorageProfile
che vuoi modificare.Aggiungi una singola voce all'elenco
spec.claimPropertySets
diStorageProfile
:apiVersion: cdi.kubevirt.io/v1beta1 kind: StorageProfile metadata: name: nfs spec: claimPropertySets: - accessModes: - ACCESS_MODE volumeMode: VOLUME_MODE
accessMode
evolumeMode
utilizzano 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 dalStorageClass
associato, la modalità di accesso preferita èReadWriteMany
.- I valori accettati includono
ReadWriteOnce
,ReadOnlyMany
,ReadWriteMany
eReadWriteOncePod
. Se non specificato, viene utilizzatoReadWriteOnce
in base ai valori predefiniti del runtime VM su GDC. Per scoprire di più, consulta la sezione Modalità di accesso.
- I valori accettati includono
VOLUME_MODE
: la modalità di volume che vuoi utilizzare.- I valori accettati includono
Filesystem
eBlock
. Se non specificato, viene utilizzatoFilesystem
in base ai valori predefiniti di Kubernetes. Per ulteriori informazioni, consulta la sezione Modalità di volume.
- I valori accettati includono
Salva e chiudi la risorsa personalizzata
StorageProfile
nell'editor.Le impostazioni del profilo di archiviazione che hai definito vengono utilizzate quando crei i dischi virtuali. Le risorse
VirtualMachineDisk
esistenti non vengono aggiornate in base alle impostazioni del profilo di archiviazione definite.
Passaggi successivi
- Crea e gestisci i dischi in Google Distributed Cloud.
Crea e utilizza le credenziali per importare le immagini da Cloud Storage.