Questa pagina spiega come utilizzare il driver di archiviazione vSphere Container Storage Interface (CSI) con i cluster Anthos sui cluster VMware (GKE On-Prem).
Panoramica
Il deployment del driver CSI vSphere viene eseguito automaticamente nei cluster Anthos su VMware. Per informazioni sull'utilizzo di altri driver CSI, vedi Installazione di un driver CSI.
Requisiti di vSphere
Per utilizzare il driver CSI vSphere, devi avere:
Una versione di vCenter Server supportata basata su Linux
Espansione del volume
L'espansione del volume offline richiede sia vCenter Server sia ESXi per la versione 7.0 o successiva 1.0
L'espansione del volume online richiede che vCenter Server e ESXi siano in versione 7.0 Update 2 o successive.
Cns.Ricercabile
Il tuo account utente vCenter deve avere il privilegio Cns.Searchable per l'oggetto vCenter principale.
Verifica dei prerequisiti CSI
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.
Conferma disponibilità del conducente
Quando il driver vSphere CSI è installato nel cluster utente, viene creato un oggetto StorageClass denominato standard-rwo
. Per verificare che il driver sia disponibile su tutti i nodi, esegui il comando seguente:
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
del tuo PersistentVolumeClaim su standard-rwo
.
Configurazione della classe di archiviazione predefinita
Per impostare standard-rwo
come classe di archiviazione predefinita, vedi Classe di archiviazione predefinita.
Creazione di ulteriori classi di archiviazione
Puoi creare altre classi di archiviazione CSI vSphere nel cluster utilizzando i 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
dove DATASTORE_NAME è il nome del tuo datastore vSphere.
Utilizza il valore di URL dall'output per 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 si elimina 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:
In vCenter, seleziona un datastore.
Vai a Monitor > Cloud Native Storage > volumi container.
Il nome del cluster Kubernetes viene mostrato nella sezione Dettagli di ogni volume.
Disabilitazione del driver CSI vSphere
Per rimuovere il supporto vSphere CSI, 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
- Scopri di più sui concetti relativi allo spazio di archiviazione dei cluster Anthos su VMware
- Configura un oggetto StorageClass predefinito per il tuo cluster