Configurazione della risorsa StorageClass predefinita

Un cluster utente creato con Google Distributed Cloud (solo software) per VMware ha uno o più StorageClass StorageClass e uno di questi è designato come StorageClass predefinito. Questa pagina mostra come impostare la StorageClass predefinita per un cluster utente. Per ulteriori informazioni, consulta la sezione Archiviazione.

Questa pagina è rivolta agli specialisti di archiviazione che configurano e gestiscono le prestazioni, l'utilizzo e le spese di archiviazione. Per scoprire di più sui ruoli comuni e sulle attività di esempio a cui facciamo riferimento nei Google Cloud contenuti, consulta Ruoli e attività utente GKE comuni.

Trovare la StorageClass predefinita

Elenca tutte le StorageClass:

kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get storageclasses

Nell'output puoi vedere quale StorageClass è quella predefinita. Ad esempio, nell'output seguente puoi vedere che una StorageClass denominata standard-rwo è la StorageClass predefinita:

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

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

Modificare la StorageClass 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 StorageClass verranno soddisfatte in base alla StorageClass di tua scelta. Questa sezione descrive i passaggi per modificare il valore predefinito.

Eseguire il deployment di un nuovo sistema di archiviazione

Esegui il deployment di un nuovo sistema di archiviazione e di tutti i 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 nella StorageClass, incluso il nome del provisioner.

Quando crei una StorageClass per la nuova appliance, devi assegnarle un nome in base alle sue proprietà (ad esempio "fast" o "highly-replicated"), anziché in base al nome del driver o dell'appliance specifici sottostanti. In questo modo sarà più facile avere criteri di archiviazione coerenti tra cluster e ambienti.

Rimuovere l'annotazione predefinita dalla StorageClass predefinita

Apri la StorageClass predefinita in un editor di testo:

kubectl --kubeconfig [USER_CLUSTER_KUBECONFIG] edit storageclass \
    DEFAULT_STORAGE_CLASS

Nell'editor di testo, rimuovi l' storageclass.kubernetes.io/is-default-class: "true" annotazione. 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

Creare una nuova StorageClass

Crea un manifest per una nuova 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 la nuova StorageClass:

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

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

Passaggi successivi