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.