In diesem Dokument wird erläutert, wie der CSI-Speichertreiber (Container Storage Interface) auf Google Distributed Cloud verwendet wird.
Übersicht
Der vSphere-CSI-Treiber wird automatisch bereitgestellt, wenn Sie Google Distributed Cloud (nur Software) für VMware installieren. Informationen zu anderen CSI-Treibern finden Sie unter CSI-Treiber installieren.
vSphere-Anforderungen
Für die Verwendung des vSphere-CSI-Treibers sind folgende Voraussetzungen erforderlich:
Volume-Erweiterung
Für die Offline-Volume-Erweiterung müssen vCenter Server und ESXi in der Version 7.0 Update 1 oder höher sein.
Für die Online-Volume-Erweiterung müssen vCenter Server und ESXi in der Version 7.0 Update 2 oder höher sein.
Volume Snapshot
Für Volume Snapshot müssen vCenter Server und ESXi Version 7.0 Update 3 oder höher haben.
Cns.Searchable
Ihr vCenter-Nutzerkonto muss die Berechtigung Cns.Searchable für das vCenter-Stammobjekt haben.
Wenn Sie nicht sicher sind, ob Ihr Konto die CSI-Voraussetzungen erfüllt, führen Sie gkectl diagnose cluster
aus, bevor Sie CSI-Arbeitslasten bereitstellen.
Prüfen, ob der Treiber installiert wurde
Wenn der vSphere-CSI-Treiber in Ihrem Nutzercluster installiert ist, wird eine StorageClass namens standard-rwo
erstellt.
Listen Sie die StorageClass-Objekte auf:
kubectl --kubeconfig CLUSTER_KUBECONFIG get storageclass
Ersetzen Sie CLUSTER_KUBECONFIG durch den Pfad der kubeconfig-Datei des Clusters.
Prüfen Sie, ob standard-rwo
in der Ausgabe angezeigt wird. Beispiel:
standard kubernetes.io/vsphere-volume Delete Immediate false 33m standard-rwo (default) csi.vsphere.vmware.com Delete Immediate true 32m
Prüfen Sie, ob der vSphere CSI-Treiber installiert ist:
kubectl --kubeconfig CLUSTER_KUBECONFIG get csinode \ -o="custom-columns=NAME:metadata.name,DRIVERS:spec.drivers[].name"
Die Ausgabe sollte anzeigen, dass der Treiber auf allen Clusterknoten verfügbar ist. Beispiel:
NAME DRIVERS node-0 csi.vsphere.vmware.com node-1 csi.vsphere.vmware.com node-2 csi.vsphere.vmware.com
Volumes bereitstellen
Zum Bereitstellen von Volumes mit dem vSphere CSI-Treiber legen Sie für das Feld storageClassName
Ihres PersistentVolumeClaim den Wert standard-rwo
fest.
Standard-Speicherklasse festlegen
Informationen zum Festlegen von standard-rwo
als Standardspeicherklasse finden Sie unter Standardspeicherklasse.
Volume mit einem Snapshot wiederherstellen
Weitere Informationen finden Sie unter Volume aus einem Snapshot wiederherstellen.
Zusätzliche StorageClasses erstellen
Sie können mit den Parametern datastoreurl
oder storagepolicyname
weitere vSphere CSI-StorageClasses in Ihrem Cluster erstellen.
Im folgenden Beispiel wird der Parameter storagepolicyname
verwendet:
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
Führen Sie den folgenden Befehl aus, um den richtigen Wert für den Parameter datastoreurl
zu ermitteln:
govc datastore.info DATASTORE_NAME
Ersetzen Sie DATASTORE_NAME durch den Namen Ihres vSphere-Datenspeichers.
Verwenden Sie den Wert für URL aus der Ausgabe für datastoreurl
. Eine Beispielausgabe sieht so aus:
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
Volume-Bereinigung
Vom vSphere-CSI-Treiber bereitgestellte Volumes werden nicht gelöscht, wenn Sie einen Nutzercluster löschen. Löschen Sie alle PVCs und StatefulSets, bevor Sie den Cluster löschen. Führen Sie den folgenden Befehl aus, um Ihre Volumes zu löschen:
kubectl delete statefulsets,persistentvolumeclaims --namespace=MY_NAMESPACE --all
Ersetzen Sie MY_NAMESPACE durch Ihren Kubernetes-Namespace.
Wenn Sie einen Nutzercluster gelöscht haben, ohne dessen Volumes zu löschen, finden Sie die Volumes in der vSphere-Benutzeroberfläche:
Wählen Sie einen Datenspeicher aus.
Gehen Sie zu Überwachen > Cloudnativer Speicher > Container-Volumes.
Im Abschnitt Details jedes Volumes sehen Sie den Namen des Kubernetes-Clusters.
vSphere-CSI-Treiber deaktivieren
Zum Entfernen der vSphere-CSI-Unterstützung fügen Sie der Nutzerclusterkonfiguration Folgendes hinzu:
# (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
Nächste Schritte
- Weitere Informationen zu den Speicherkonzepten von Google Distributed Cloud
- Standard-StorageClass für den Cluster festlegen