Questo documento spiega come utilizzare il driver CSI (Container Storage Interface) vSphere 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:
Una versione supportata di vCenter Server basata su Linux
Espansione del volume
L'espansione del volume offline richiede che sia vCenter Server sia ESXi siano nella versione 7.0 Update 1 o successive
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 che sia vCenter Server sia ESXi siano nella versione 7.0 Update 3 o successive.
Cns.Searchable
Il tuo account utente vCenter deve disporre del privilegio 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 è installato nel cluster utente, viene creato un StorageClass chiamato 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
venga visualizzato 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 tutti i nodi del cluster. Ad esempio:
NAME DRIVERS node-0 csi.vsphere.vmware.com node-1 csi.vsphere.vmware.com node-2 csi.vsphere.vmware.com
Eseguire il 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 classi di archiviazione aggiuntive
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 il seguente
comando:
govc datastore.info DATASTORE_NAME
Sostituisci DATASTORE_NAME con il nome del datastore vSphere.
Utilizza il valore di URL dall'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 di vSphere non vengono eliminati quando elimini un cluster di utenti. 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 eliminare i relativi volumi, puoi trovarli nell'interfaccia utente di vSphere:
Seleziona un datastore.
Vai a Monitor > Archiviazione cloud-native > Volumi container.
Nella sezione Dettagli di ogni volume puoi vedere il cluster Kubernetes nome.
Disattivazione del driver CSI vSphere
Per rimuovere il supporto di 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 di archiviazione di Google Distributed Cloud
- Imposta un oggetto StorageClass predefinito per il cluster