Questo documento è destinato ai proprietari di applicazioni e agli amministratori di piattaforma che eseguono GKE su Bare Metal. Questo documento mostra come creare e utilizzare le classi di archiviazione per le VM che utilizzano il runtime VM su GDC. Un StorageClass
consente di definire diverse configurazioni di archiviazione per soddisfare le varie
esigenze delle VM.
Prima di iniziare
Per completare questo documento, devi accedere al cluster GKE su Bare Metal versione 1.12.0
(anthosBareMetalVersion: 1.12.0
) o successiva. Puoi usare qualsiasi tipo di cluster
in grado di eseguire carichi di lavoro. Se necessario,
prova GDCV per Bare Metal su Compute Engine
o consulta la
panoramica della creazione del cluster.
Panoramica delle classi di archiviazione
Utilizza un StorageClass
per definire il tipo di spazio di archiviazione da rendere disponibile alle VM. classi di archiviazione diverse potrebbero essere mappate a tipi diversi di hardware, file system o prestazioni di archiviazione. Puoi creare e utilizzare classi di archiviazione
per supportare i carichi di lavoro di computing nel runtime VM su GDC. Per scoprire di più, consulta la sezione Classi di archiviazione.
È possibile definire un valore StorageClass
predefinito nella risorsa personalizzata per il runtime VM su GDC. Se non definisci una classe specifica quando crei un VirtualMachineDisks,
, viene utilizzato questo StorageClass
predefinito. Nessun valore StorageClass
iniziale è configurato e impostato come predefinito. Nella sezione seguente imparerai a impostare o aggiornare questo valore predefinito di StorageClass.
Imposta o aggiorna il valore predefinito di StorageClass
Inizialmente, per GKE su Bare Metal con runtime VM su GDC non è configurato alcun valore predefinito di StorageClass
. Per creare un VirtualMachineDisk
senza specificare un
StorageClass
, devi prima
creare una StorageClass
e poi impostarla come predefinita.
Se vuoi iniziare a impostare o aggiornare il valore StorageClass
predefinito utilizzato dal runtime VM su GDC quando crei una 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 delStorageClass
predefinito che vuoi utilizzare. Se devi prima creare unStorageClass
, consulta la sezione Creare unStorageClass
.Salva e chiudi la risorsa personalizzata
VMRuntime
nell'editor.Il valore
StorageClass
specificato viene ora utilizzato quando crei un disco della macchina virtuale e non specifichi unStorageClass
. La seguente sezione mostra come creare un disco e utilizzare un oggetto StorageClass specifico.Le risorse
VirtualMachineDisk
esistenti non vengono aggiornate in modo da utilizzare il nuovoStorageClass
specificato.
Usa un oggetto StorageClass specifico
Se non vuoi utilizzare il valore StorageClass
predefinito quando crei un VirtualMachineDisk
, utilizza il campo storageClassName
per specificare un StorageClass
diverso.
Per utilizzare un elemento StorageClass
già definito e specifico quando crei un elemento
VirtualMachineDisk
, procedi nel seguente modo:
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
: il valoreStorageClass
da utilizzare per il disco. QuestoStorageClass
deve già esistere. Se devi prima creare unStorageClass
, consulta Creare un oggetto StorageClass.
Salva e chiudi il manifest del disco nell'editor.
Crea il disco utilizzando
kubectl
:kubectl apply -f my-disk.yaml
Configura profili di archiviazione
I profili di archiviazione offrono opzioni di configurazione aggiuntive associate a ogni StorageClass
. Queste opzioni di configurazione includono la modalità di accesso e la modalità
volume da utilizzare per gli 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, poiché funzionalità come la migrazione live non funzionano. La modalità 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 profilo 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 volume, segui questi passaggi:
Modifica la risorsa personalizzata
StorageProfile
per la modifica:kubectl edit storageprofile STORAGE_PROFILE_NAME
Sostituisci
STORAGE_PROFILE_NAME
con il valoreStorageProfile
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 che imposti dipendono dal driver di archiviazione utilizzato. Sostituisci i valori seguenti in base allo spazio di archiviazione che utilizzi:ACCESS_MODE
: la modalità di accesso che vuoi utilizzare. Se supportata dall'oggettoStorageClass
associato, la modalità di accesso preferita èReadWriteMany
.- I valori accettati sono
ReadWriteOnce
,ReadOnlyMany
,ReadWriteMany
eReadWriteOncePod
. Se non specificato,ReadWriteOnce
viene utilizzato in base alle impostazioni predefinite del runtime VM su GDC. Per ulteriori informazioni, consulta Modalità di accesso.
- I valori accettati sono
VOLUME_MODE
: la modalità del volume che vuoi utilizzare.- I valori accettati sono
Filesystem
eBlock
. Se non specificato, viene utilizzatoFilesystem
in base ai valori predefiniti di Kubernetes. Per ulteriori informazioni, consulta la sezione Modalità volume.
- I valori accettati sono
Salva e chiudi la risorsa personalizzata
StorageProfile
nell'editor.Le impostazioni del profilo di archiviazione che hai definito vengono utilizzate quando ora crei dischi virtuali. Le risorse
VirtualMachineDisk
esistenti non vengono aggiornate in modo da utilizzare le impostazioni del profilo di archiviazione definite.
Passaggi successivi
- Crea e gestisci dischi in GDCV per Bare Metal.
Creare e utilizzare le credenziali per importare immagini da Cloud Storage.