Configurazione della risorsa StorageClass predefinita

Un cluster utente creato con il software Google Distributed Cloud solo 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 saperne di più, consulta Archiviazione.

Questa pagina è rivolta 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 Ruoli e attività comuni degli utenti GKE.

Trova la classe StorageClass predefinita

Elenca tutte le StorageClass:

kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get storageclasses

Nell'output puoi vedere quale StorageClass è l'oggetto predefinito. Ad esempio, nel seguente output, 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 lo spazio di archiviazione, puoi specificare un oggetto StorageClass. Se non specifichi una classe di archiviazione, viene utilizzata quella predefinita. Ad esempio, supponiamo che tu crei un oggetto PersistentVolumeClaim che non specifica una StorageClass. Il controller del volume soddisferà la richiesta in base alla classe di archiviazione predefinita.

Modifica della classe StorageClass predefinita

In qualità di amministratore del cluster, potresti voler modificare la classe di archiviazione predefinita. In questo modo, tutte le richieste di archiviazione che non specificano un oggetto StorageClass verranno soddisfatte in base all'oggetto StorageClass scelto. Questa sezione illustra i passaggi per modificare l'impostazione predefinita.

Esegui il deployment di un nuovo sistema di archiviazione

Eseguire il deployment di un nuovo sistema di archiviazione e di tutti i componenti software per l'integrazione del 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 oggetto StorageClass per la nuova appliance, devi assegnargli un nome in base alle sue proprietà (ad esempio "veloce" o "con replica elevata"), anziché in base al nome del driver o dell'appliance specifici. In questo modo sarà più facile avere policy di archiviazione coerenti tra cluster e ambienti.

Rimuovi l'annotazione predefinita dalla classe StorageClass predefinita

Apri la classe 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 un nuovo oggetto 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