Crea e utilizza classi di archiviazione nel runtime VM su GDC

Questo documento è rivolto ai proprietari di applicazioni e agli amministratori di piattaforma che eseguono Google Distributed Cloud. Questo documento spiega come creare e utilizzare di archiviazione per le VM che usano il runtime VM su GDC. Un StorageClass consente di definire diverse configurazioni di archiviazione per 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 cluster superiore. Puoi utilizzare qualsiasi cluster in grado di eseguire carichi di lavoro. Se necessario, prova Google Distributed Cloud su Compute Engine o consulta le Panoramica della creazione del cluster.

Panoramica delle classi di archiviazione

Utilizzi un StorageClass per definire il tipo di spazio di archiviazione che rendi disponibile delle VM in esecuzione. Classi di archiviazione diverse potrebbero essere mappate a un tipo di archiviazione diverso su hardware, file system o prestazioni. Puoi creare e usare classi di archiviazione supportare i carichi di lavoro di computing nel runtime delle VM su GDC. Per maggiori informazioni le informazioni, vedi Classi di archiviazione.

È possibile definire un valore StorageClass predefinito nella risorsa personalizzata per Runtime VM su GDC. Se non definisci una classe specifica quando crea un VirtualMachineDisks, di questo StorageClass predefinito. Nessuna iniziale StorageClass è configurato e impostato come predefinito. Nella sezione seguente, scopri come imposta o aggiorna il valore predefinito del campo StorageClass.

Imposta o aggiorna il valore predefinito del campo StorageClass

Inizialmente, Google Distributed Cloud con runtime VM su GDC non ha StorageClass configurato. Per creare un VirtualMachineDisk senza specificare un StorageClass, devi prima crea un StorageClass per poi impostarlo come predefinito.

Se vuoi configurare o aggiornare inizialmente il valore StorageClass predefinito, Il runtime VM su GDC utilizza quando crei un VirtualMachineDisk, aggiorna la risorsa personalizzata VMRuntime.

  1. Modifica la risorsa personalizzata VMRuntime:

    kubectl edit vmruntime
    
  2. Aggiungi o aggiorna la sezione spec.storage che specifica il valore predefinito StorageClass 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 predefinito StorageClass che vuoi utilizzare. Se devi prima creare un StorageClass, vedi Crea un StorageClass.

  3. Salva e chiudi la risorsa personalizzata VMRuntime nell'editor.

    Il StorageClass specificato ora viene utilizzato quando crei un'istanza virtuale disco della macchina e non specificare un StorageClass. La sezione seguente illustra di come crea un disco e utilizza un oggetto StorageClass specifico.

    Le risorse VirtualMachineDisk esistenti non vengono aggiornate per utilizzare le nuove risorse StorageClass specificato.

usa un oggetto StorageClass specifico

Se non vuoi utilizzare il valore predefinito StorageClass quando crei un VirtualMachineDisk, utilizza il campo storageClassName per specificare un valore StorageClass.

Per utilizzare un determinato StorageClass già definito quando crei un VirtualMachineDisk, completa questi passaggi:

  1. Crea un manifest VirtualMachineDisk, ad esempio my-disk.yaml, nella un editor di tua scelta:

    nano my-disk.yaml
    
  2. 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 tuo disco.
    • STORAGE_CLASS_NAME: i StorageClass da utilizzare per sul disco. Questo StorageClass deve esistere già. Se devi prima crea un StorageClass, consulta Crea un oggetto StorageClass.
  3. Salva e chiudi il manifest del disco nell'editor.

  4. 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 il volume modalità da usare per i VirtualMachineDisks che usano StorageClass.

Senza un profilo di archiviazione configurato, i dischi vengono impostati sul valore predefinito ReadWriteOnce di accesso rapido. Questa modalità di accesso non è sufficiente per i carichi di lavoro di produzione, come la migrazione live non funzionano. La modalità del volume predefinita senza il profilo di archiviazione configurato è Filesystem.

Il runtime VM su GDC genera automaticamente un profilo di archiviazione per ogni StorageClass in un cluster. Il nome del profilo di archiviazione è lo stesso 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 segui questi passaggi:

  1. Modifica la risorsa personalizzata StorageProfile per la modifica:

    kubectl edit storageprofile STORAGE_PROFILE_NAME
    

    Sostituisci STORAGE_PROFILE_NAME con StorageProfile che vuoi modificare.

  2. Aggiungi una singola voce all'elenco spec.claimPropertySets delle StorageProfile:

    apiVersion: cdi.kubevirt.io/v1beta1
    kind: StorageProfile
    metadata:
      name: nfs
    spec:
      claimPropertySets:
      - accessModes:
        - ACCESS_MODE
        volumeMode: VOLUME_MODE
    

    accessMode e volumeMode utilizzano i componenti Kubernetes sottostanti. I valori che imposti dipendono dal driver di archiviazione utilizzato. Sostituisci quanto segue in base allo spazio di archiviazione che utilizzi:

    • ACCESS_MODE: la modalità di accesso che vuoi utilizzare. Se supportata dall'oggetto StorageClass associato, la modalità di accesso preferito è ReadWriteMany.
      • I valori accettati sono ReadWriteOnce, ReadOnlyMany, ReadWriteMany e ReadWriteOncePod. Se non specificato, ReadWriteOnce viene utilizzato in base alle impostazioni predefinite del runtime VM su GDC. Per maggiori informazioni le informazioni, vedi Modalità di accesso.
    • VOLUME_MODE: la modalità del volume che vuoi utilizzare.
      • I valori accettati sono Filesystem e Block. Se non specificato, Filesystem viene utilizzato in base alle impostazioni predefinite di Kubernetes. Per maggiori informazioni le informazioni, vedi Modalità volume.
  3. Salva e chiudi la risorsa personalizzata StorageProfile nell'editor.

    Le impostazioni del profilo di archiviazione che hai definito vengono utilizzate quando crei dischi virtuali. Le risorse VirtualMachineDisk esistenti non vengono aggiornate per l'utilizzo le impostazioni del profilo di archiviazione definite.

Passaggi successivi