Configurazione della risorsa StorageClass predefinita

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

Questa pagina è dedicata agli esperti 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 contenuti di Google Cloud , consulta la pagina Ruoli e attività comuni degli utenti GKE.

Trovare la risorsa 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 un oggetto StorageClass denominato standard-rwo è l'oggetto StorageClass predefinito:

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. Ad esempio, supponiamo di creare un PersistentVolumeClaim che non specifica una StorageClass. Il controller del volume soddisferà la richiesta in base alla risorsa StorageClass predefinita.

Modifica della risorsa StorageClass predefinita

In qualità di amministratore del cluster, potresti voler modificare la classe di archiviazione predefinita. Tutte le richieste di archiviazione che non specificano una StorageClass verranno soddisfatte in base alla StorageClass di tua scelta. Questa sezione fornisce i passaggi 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 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 in StorageClass, incluso il nome del provisioner.

Quando crei una StorageClass per il tuo nuovo appliance, devi denominarla in base alle sue proprietà (ad esempio "veloce" o "con replica elevata"), anziché in base al nome del driver o dell'appliance specifici sottostanti. In questo modo sarà più facile avere criteri di archiviazione coerenti in tutti i cluster e gli ambienti.

Rimuovi l'annotazione predefinita dalla risorsa StorageClass predefinita

Apri la risorsa StorageClass predefinita in un editor di testo:

kubectl --kubeconfig [USER_CLUSTER_KUBECONFIG] edit storageclass \
    DEFAULT_STORAGE_CLASS

Nell'editor di testo, rimuovi l'annotazione storageclass.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 una nuova 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 la nuova StorageClass:

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

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

Passaggi successivi