Utilizzo del driver vSphere Container Storage Interface

Questo documento spiega come utilizzare vSphere Container Storage Interface (CSI) con Google Distributed Cloud.

Panoramica

Il driver CSI vSphere il deployment viene eseguito automaticamente al momento dell'installazione di Google Distributed Cloud (solo software) e VMware. Per informazioni sull'uso di altri driver CSI, vedi Installare un driver CSI.

Requisiti di vSphere

Per utilizzare il driver CSI vSphere, devi disporre di:

Espansione del volume

  • Espansione del volume offline richiede sia vCenter Server che ESXi versione 7.0 Update 1 o successiva

  • Per l'espansione del volume online è necessario disporre sia di vCenter Server che di ESXi 7.0 Update 2 o successivo.

Snapshot volume

Lo snapshot del volume richiede l'aggiornamento della versione 7.0 di vCenter Server ed ESXi 3 o versioni successive.

Cns.Searchable

Il tuo account utente vCenter deve disporre Cns.Searchable sull'oggetto vCenter principale.

Se non hai la certezza che il tuo account soddisfi i prerequisiti CSI, esegui gkectl diagnose cluster prima di eseguire il deployment di qualsiasi carico di lavoro CSI.

Verifica che il driver sia installato

Quando il driver CSI vSphere viene installato nel cluster utente, un oggetto StorageClass denominato standard-rwo.

Elenca gli oggetti StorageClass:

kubectl --kubeconfig CLUSTER_KUBECONFIG get storageclass

Sostituisci CLUSTER_KUBECONFIG con il percorso kubeconfig del cluster .

Verifica che standard-rwo appaia nell'output. Ad esempio:

standard                 kubernetes.io/vsphere-volume  Delete   Immediate     false      33m
standard-rwo (default)   csi.vsphere.vmware.com    Delete   Immediate     true       32m

Verifica che il driver CSI vSphere sia installato:

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

L'output dovrebbe indicare che il driver è disponibile su tutto il cluster nodi. Ad esempio:

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

Provisioning dei volumi

Per eseguire il provisioning dei volumi con il driver CSI vSphere, imposta storageClassName campo del tuo PersistentVolumeClaim a standard-rwo.

Configurazione della classe di archiviazione predefinita

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

Utilizzo di uno snapshot per ripristinare un volume

Consulta Ripristinare un volume da uno snapshot.

Creazione di StorageClass aggiuntivi

Puoi creare ulteriori StorageClass vSphere CSI nel tuo cluster utilizzando il metodo Parametri datastoreurl o storagepolicyname.

Nell'esempio seguente viene utilizzato 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 questo comando: :

govc datastore.info DATASTORE_NAME

Sostituisci DATASTORE_NAME con il nome del tuo Datastore vSphere.

Utilizza il valore di URL dell'output per datastoreurl. Esempio l'output è simile al seguente:

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 nel cluster utente. Devi eliminare tutte le PVC e StatefulSets prima l'eliminazione del cluster. Per eliminare i volumi, esegui questo comando:

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

Sostituisci MY_NAMESPACE con il tuo Kubernetes spazio dei nomi.

Se hai eliminato un cluster utente senza eliminarne i volumi, puoi trovare volumi nell'interfaccia utente di vSphere:

  1. Seleziona un datastore.

  2. Vai a Monitor > Archiviazione cloud-native > Volumi container.

  3. Nella sezione Dettagli di ogni volume puoi vedere il cluster Kubernetes .

Disattivazione del driver CSI vSphere

Per rimuovere il supporto CSI di 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