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 StorageClass 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 Ruoli utente e attività comuni di 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 l'archiviazione, puoi specificare un oggetto StorageClass. Se non specifichi una StorageClass, viene utilizzata quella predefinita. Ad esempio, supponiamo di creare un PersistentVolumeClaim che non specifica una classe di archiviazione. 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 un oggetto StorageClass verranno soddisfatte in base all'oggetto 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 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 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 specifico sottostante. 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 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