Configurazione della risorsa StorageClass predefinita

Un cluster utente creato con Google Distributed Cloud (solo software) per VMware ha una o più StorageClass e uno di questi è designato come StorageClass predefinito. Questa pagina mostra come impostare il valore predefinito di StorageClass per un cluster utente.

Per ulteriori informazioni, vedi Spazio di archiviazione.

Trova il valore predefinito

Elenca tutte le classi di archiviazione:

kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get storageclasses

Nell'output, puoi vedere quale StorageClass è il valore predefinito. Ad esempio, nel dall'output seguente, puoi vedere che un oggetto StorageClass denominato standard-rwo il valore predefinito di StorageClass:

standard                      kubernetes.io/vsphere-volume
standard-rwo (default)        csi.vsphere.vmware.com

Quando richiedi l'archiviazione, puoi specificare un oggetto StorageClass. Se non specifichi un oggetto StorageClass, viene utilizzato il valore predefinito. Ad esempio, supponiamo che crea un PersistentVolumeClaim che non specifica un oggetto StorageClass. Il controller del volume soddisferà in base al valore predefinito di StorageClass.

Modifica del valore predefinito di StorageClass

In qualità di amministratore del cluster, potresti voler modificare la classe di archiviazione predefinita. Quindi tutte le richieste per l'archiviazione che non specificano un valore da soddisfare in base al livello di archiviazione di tua scelta. Questa sezione fornisce per modificare l'impostazione predefinita.

Deployment di un nuovo sistema di archiviazione

Esegui il deployment di un nuovo sistema di archiviazione e di eventuali componenti software per l'integrazione del nuovo meccanismo di archiviazione con un cluster Kubernetes. Ad esempio, potresti dover installa un driver CSI nel in un cluster Kubernetes.

Questo passaggio dipende dal fornitore di spazio di archiviazione che utilizzi. Per i conducenti CSI, i fornitori deve fornire istruzioni per eseguire il deployment del driver CSI in un ambiente in un cluster Kubernetes. La documentazione del conducente CSI deve includere anche parametri specifici del conducente che fornisci nel tuo oggetto StorageClass, incluso il nome del provisioner.

Quando crei un oggetto StorageClass per la nuova appliance, devi assegnare un nome StorageClass dopo le sue proprietà (ad esempio "rapido" o "alta replica"), anziché in base al nome del driver o dell'appliance specifica. In questo modo sarà più facile definire criteri di archiviazione coerenti tra i cluster ambienti cloud-native.

Rimuovi l'annotazione predefinita dal valore predefinito di StorageClass

Apri il campo StorageClass predefinito in un editor di testo:

kubectl --kubeconfig [USER_CLUSTER_KUBECONFIG] edit storageclass \
    DEFAULT_STORAGE_CLASS

Nell'editor di testo, rimuovi la porzione Annotazione storageclass.kubernetes.io/is-default-class: "true". Chiudi il 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 un nuovo oggetto 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 oggetto StorageClass:

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

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

Passaggi successivi