Utilizzo del driver vSphere Container Storage Interface

Questa pagina illustra come utilizzare il driver di archiviazione vSphere Container Storage Interface (CSI) con i cluster GKE On-Prem.

Panoramica

A partire da GKE On-Prem versione 1.5, viene eseguito automaticamente il deployment del driver CSI vSphere nei cluster GKE On-Prem. Per informazioni su altri driver CSI, consulta la sezione Installare un driver CSI.

Prima di iniziare

Assicurati di disporre dei seguenti prerequisiti:

Conferma disponibilità del conducente

Quando il driver CSI vSphere è installato nel cluster utente, viene creata una risorsa StorageClass denominata standard-rwo. Per verificare che il driver sia disponibile su tutti i nodi, esegui questo comando:

kubectl get csinode -o="custom-columns=NAME:metadata.name,DRIVERS:spec.drivers[].name"

Dovresti vedere l'output seguente:

NAME     DRIVERS
node-0   csi.vsphere.vmware.com
node-1   csi.vsphere.vmware.com
node-2   csi.vsphere.vmware.com

Volumi di provisioning

Per eseguire il provisioning dei volumi con il driver CSI vSphere, imposta il campo storageClassName di PersistentVolumeClaim su standard-rwo.

Configurazione della classe di archiviazione predefinita

Per impostare standard-rwo come classe di archiviazione predefinita, consulta la sezione Classe di archiviazione predefinita.

Creazione di ulteriori classi di archiviazione

Puoi creare ulteriori classi di archiviazione CSI vSphere nel tuo cluster utilizzando i parametri datastoreurl o storagepolicyname.

L'esempio seguente utilizza il parametro storagepolicyname:

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: gold
parameters:
  csi.storage.k8s.io/fstype: ext4
  storagepolicyname: "Gold Policy"
provisioner: csi.vsphere.vmware.com

Per trovare il valore corretto per il parametro datastoreurl, esegui il comando seguente:

govc datastore.info DATASTORE_NAME

dove DATASTORE_NAME è il nome del tuo datastore vSphere.

Utilizza il valore per URL dall'output di datastoreurl. Un output di esempio ha il seguente aspetto:

Name:        DATASTORE_NAME
  Path:      /DATACENTER_NAME/datastore/DATASTORE_NAME
  Type:      VMFS
  URL:       ds:///vmfs/volumes/5d864fa0-7f2184d4-8eb4-3cfdfe0ce9a0/
  Capacity:  20479.8 GB
  Free:      10066.9 GB

Pulizia del volume

I volumi di cui è stato eseguito il provisioning dal driver CSI vSphere non vengono eliminati quando elimini un cluster utente. Devi eliminare tutte le PVC e gli StatefulSet prima di eliminare il cluster. Per eliminare i volumi, esegui questo comando:

kubectl delete statefulsets,persistentvolumeclaims --namespace=MY_NAMESPACE --all

dove MY_NAMESPACE è il tuo spazio dei nomi Kubernetes.

Se hai eliminato un cluster utente senza eliminarne i volumi, puoi trovare i volumi in vCenter:

  1. In vCenter, seleziona un datastore.

  2. Vai a Monitor > Cloud Native Storage > Volume dei container.

Il nome del cluster Kubernetes viene mostrato nella sezione Dettagli di ogni volume.

Disabilitazione del driver CSI vSphere

Per rimuovere il supporto CSI vSphere, aggiungi quanto segue alla configurazione del cluster utente:

# (Optional) Storage specification for the cluster
storage:
# To disable the vSphere CSI driver, set this to true. The value is set to false by default and # the vSphere CSI driver is enabled by default on vSphere version >= 6.7U3.
  vSphereCSIDisabled: true

Passaggi successivi