Auf dieser Seite wird erläutert, wie der CSI-Speichertreiber (Container Storage Interface) auf GKE On-Prem-Clustern verwendet wird.
Übersicht
Ab GKE On-Prem-Version 1.5 wird der vSphere-CSI-Treiber automatisch in GKE On-Prem-Clustern bereitgestellt. Informationen zu anderen CSI-Treibern finden Sie unter CSI-Treiber installieren.
Hinweis
Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
vSphere-Server API-Version 6.7, Update 3 oder höher.
Nutzerkontoberechtigungen für vSphere
cns.searchable
Verfügbarkeit des Treibers prüfen
Wenn der vSphere-CSI-Treiber in Ihrem Nutzercluster installiert ist, wird eine StorageClass namens standard-rwo
erstellt. Führen Sie den folgenden Befehl aus, um zu prüfen, ob der Treiber auf allen Knoten verfügbar ist:
kubectl get csinode -o="custom-columns=NAME:metadata.name,DRIVERS:spec.drivers[].name"
Es sollte folgende Ausgabe angezeigt werden:
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.
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
Dabei ist DATASTORE_NAME der Name 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
Dabei ist MY_NAMESPACE Ihr Kubernetes-Namespace.
Wenn Sie einen Nutzercluster gelöscht haben, ohne dessen Volumes zu löschen, finden Sie die Volumes in vCenter:
Wählen Sie in vCenter einen Datenspeicher aus.
Gehen Sie zu Überwachen > Cloudnativer Speicher > Container-Volumes.
Der Kubernetes-Clustername wird im Abschnitt Details jedes Volumes angezeigt.
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