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.