Configurazione della risorsa StorageClass predefinita

Un cluster utente creato con Google Distributed Cloud (solo software) per VMware ha uno o più oggetti StorageClass, uno dei quali è designato come StorageClass predefinito. Questa pagina mostra come impostare la classe di archiviazione predefinita per un cluster utente. Per ulteriori informazioni, consulta Spazio di archiviazione.

Questa pagina è rivolta agli esperti di archiviazione che configurano e gestiscono le prestazioni, l'utilizzo e le spese dell'archiviazione. Per scoprire di più sui ruoli comuni e su alcuni esempi di attività a cui facciamo riferimento nei contenuti di Google Cloud, consulta Ruoli e attività comuni degli utenti di GKE Enterprise.

Trovare la classe di archiviazione predefinita

Elenca tutti i tipi di archiviazione:

kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get storageclasses

Nell'output, puoi vedere quale StorageClass è predefinito. Ad esempio, nel risultato seguente puoi vedere che un oggetto StorageClass denominato standard-rwo è la StorageClass predefinita:

standard                      kubernetes.io/vsphere-volume
standard-rwo (default)        csi.vsphere.vmware.com

Quando richiedi spazio di archiviazione, puoi specificare un StorageClass. Se non specifichi una StorageClass, viene utilizzata la StorageClass predefinita. Ad esempio, immagina di creare un PersistentVolumeClaim che non specifica una classe di archiviazione. Il controller del volume soddisferà la rivendicazione in base alla StorageClass predefinita.

Modifica della classe di archiviazione predefinita

In qualità di amministratore del cluster, potresti voler modificare la classe di archiviazione predefinita. Tutte le richieste di spazio di archiviazione che non specificano una classe di archiviazione verranno soddisfatte in base alla classe di archiviazione scelta. Questa sezione descrive la procedura per modificare l'impostazione predefinita.

Esegui il deployment di un nuovo sistema di archiviazione

Esegui il deployment di un nuovo sistema di archiviazione e di eventuali componenti software per integrare il nuovo meccanismo di archiviazione con un cluster Kubernetes. Ad esempio, potresti dover installare un driver CSI nel cluster.

Questo passaggio dipende dal fornitore di spazio di archiviazione che utilizzi. Per i driver CSI, i fornitori devono fornire istruzioni per il deployment del driver CSI in un cluster Kubernetes. La documentazione di un driver CSI deve includere anche i parametri specifici del driver che fornisci in StorageClass, incluso il nome del provisioner.

Quando crei un StorageClass per la nuova appliance, devi assegnare un nome al StorageClass in base alle relative proprietà (ad esempio "veloce" o "molto replicato"), anziché al nome del driver o dell'appliance specifico sottostante. In questo modo sarà più facile avere criteri di archiviazione coerenti tra cluster e ambienti.

Rimuovi l'annotazione predefinita dalla classe di archiviazione predefinita

Apri StorageClass predefinito in un editor di testo:

kubectl --kubeconfig [USER_CLUSTER_KUBECONFIG] edit storageclass \
    DEFAULT_STORAGE_CLASS

Nell'editor di testo, rimuovi l'annotazionestorageclass.kubernetes.io/is-default-class: "true". Chiudi l'editor di testo.

Per verificare che l'annotazione sia stata rimossa, inserisci questo comando:

kubectl --kubeconfig [USER_CLUSTER_KUBECONFIG] get storageclass \
    DEFAULT_STORAGE_CLASS --output yaml

Crea un nuovo StorageClass

Crea un manifest per un nuovo StorageClass. Includi l'annotazione storageclass.kubernetes.io/is-default-class: "true". Ad esempio:

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  annotations:
    storageclass.kubernetes.io/is-default-class: "true"
  ...
  name: my-storage-class
  ...
parameters:
  ...
provisioner: [MY_PROVISIONER]
...

Salva il manifest come file YAML e crea il nuovo StorageClass:

kubectl --kubeconfig [CLUSTER_KUBECONFIG] apply -f [MANIFEST_FILE]

dove [MANIFEST_FILE] è il percorso del nuovo file manifest StorageClass.

Passaggi successivi