In den folgenden Manifesten werden die unterstützten CSI-Treiberfelder in den Ressourcen „StorageClass“ und „PersistentVolume“ beschrieben.
Speicherklasse
Das folgende Manifest enthält alle unterstützten Felder in der Speicherklasse.
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: parallelstore-csi-sc
provisioner: parallelstore.csi.storage.gke.io
parameters:
network: VPC_NETWORK_NAME # optional
labels: KEY: VALUE # optional
description: DESCRIPTION # optional
reserved-ip-range: IP_RANGE_NAME # optional
file-stripe-level: FILE_STRIPE_LEVEL # optional
directory-stripe-level: DIRECTORY_STRIPE_LEVEL # optional
mountLocality: MOUNT_LOCALITY # optional
dfuseCPURequest: DFUSE_CPU_REQUEST # optional
dfuseMemoryRequest: DFUSE_MEMORY_REQUEST # optional
dfuseCPULimit: DFUSE_CPU_LIMIT # optional
dfuseMemoryLimit: DFUSE_MEMORY_LIMIT # optional
volumeBindingMode: VOLUME_BINDING_MODE # default is "immediate"; or "waitForFirstConsumer"
allowedTopologies: # optional
- matchLabelExpressions:
- key: topology.gke.io/zone
values:
- ZONE
mountOptions:
- DFUSE_MOUNT_OPTIONS # disable-caching, enable-wb-cache, thread-count, eq-count
Alle folgenden Felder sind optional:
network: Das VPC-Netzwerk, in dem die Parallelstore-Instanz erstellt werden soll. Wenn diese Eigenschaft nicht angegeben ist, wird das Netzwerk des GKE-Clusters verwendet.Wenn Sie eine Parallelstore-Instanz in einem freigegebenen VPC-Netzwerk erstellen möchten, muss der vollständige Name des Netzwerks angegeben werden. Beispiel:
projects/PROJECT_ID/global/networks/VPC_NETWORK_NAMElabels: Benutzerdefinierte Schlüssel/Wert-Paare, die an diese Instanz angehängt werden sollen.description: Eine Beschreibung der Instanz. Es sind maximal 2.048 Zeichen zulässig.reserved-ip-range: Der Name eines zugewiesenen IP-Adressbereichs. Wenn nichts angegeben ist, werden alle Bereiche berücksichtigt.file-stripe-leveldefiniert die Einstellungen für das Dateistreifenverfahren. Zulässige Werte sind:file-stripe-level-balancedfile-stripe-level-maxfile-stripe-level-min
Weitere Informationen finden Sie unter Überlegungen zur Leistung.
directory-stripe-leveldefiniert die Striping-Ebene für Verzeichnisse. Zulässige Werte sind:directory-stripe-level-balanceddirectory-stripe-level-maxdirectory-stripe-level-min
Weitere Informationen finden Sie unter Überlegungen zur Leistung.
mountLocality: Aktiviert den knotenlokalen Bereitstellungsmodus für die dynamische Bereitstellung. Unterstützte Werte sindnodeoderpod. Der Standardwert istpod. Wennnodeangegeben ist, können Sie auch die folgenden Optionen verwenden:dfuseCPURequest: Die CPU-Anfrage für den dfuse-Prozess. Der Standardwert ist250m.dfuseMemoryRequest: Die Arbeitsspeicheranforderung für den dfuse-Prozess. Der Standardwert ist512Mi.dfuseCPULimit: Das CPU-Limit für den dfuse-Prozess. Der Standardwert ist nicht festgelegt.dfuseMemoryLimit: Das Arbeitsspeicherlimit für den dfuse-Prozess. Der Standardwert ist10Gi.
allowedTopologies: Gibt die Zone an, in der die Parallelstore-Instanz erstellt werden soll. Wenn dieses Feld nicht angegeben ist, wird die Instanz in derselben Zone wie die CSI-Treiberbereitstellung mit dem Volumebindungsmodusimmediateerstellt.volumeBindingMode: Gibt den Modus für die Topologieauswahl an. Im Modusimmediatewird der inallowedTopologiesangegebene Wert verwendet. Im ModuswaitForFirstConsumerwird die Topologie der Zone zugewiesen, in der der GKE-Pod geplant ist. Dies kann dazu führen, dass Pods blockiert werden, während auf die Bereitstellung eines Volumes gewartet wird.mountOptions: Gibt dfuse-Montageoptionen und Kernelparameter an, einschließlichread_ahead_kbundmax_ratio. Diese Werte werden von Volumes übernommen, die von Parallelstore-Instanzen unterstützt werden, in das Feld.spec.mountOptionsdes persistenten Volumes.Folgende Optionen sind verfügbar:
disable-caching: Deaktiviert das gesamte Caching. Wenn Sie eine Parallelstore-Instanz in GKE bereitstellen, ist standardmäßig das vollständige Caching (außer für den Writeback-Cache) aktiviert.enable-wb-cache: Verwenden Sie einen Write-Back-Cache anstelle eines Write-Through-Caches.thread-count: Anzahl der zu verwendenden Threads. Dieser Wert ist die Summe der Anzahl der FUSE-Threads und der Anzahl der Ereigniswarteschlangen.eq-count: Anzahl der zu verwendenden Ereigniswarteschlangen.read_ahead_kb: Größe des Vorablesefensters in Kilobyte.max_ratio: Damit lässt sich ein bestimmtes Gerät so einschränken, dass es nicht mehr als den angegebenen Prozentsatz des Writeback-Caches verwendet.
Weitere Informationen zu diesen Optionen finden Sie unter Überlegungen zur Leistung.
Nichtflüchtiges Volume
Das folgende Manifest enthält alle unterstützten Felder im Persistent Volume.
apiVersion: v1
kind: PersistentVolume
metadata:
name: parallelstore-pv
annotations:
pv.kubernetes.io/provisioned-by: parallelstore.csi.storage.gke.io
spec:
storageClassName: parallelstore-csi-sc
capacity:
storage: INSTANCE_SIZE # 12Ti
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain # or "Delete"
volumeMode: Filesystem
mountOptions:
- DFUSE_MOUNT_OPTIONS # disable-caching, enable-wb-cache, thread-count, eq-count, read_ahead_kb, max_ratio
csi:
driver: parallelstore.csi.storage.gke.io
volumeHandle: PROJECT_ID/LOCATION/INSTANCE_NAME/default-pool/default-container
volumeAttributes:
accessPoints: ACCESS_POINTS # comma-separated list of IP addresses
network: VPC_NETWORK # optional
mountLocality: MOUNT_LOCALITY # optional
dfuseCPURequest: DFUSE_CPU_REQUEST # optional
dfuseMemoryRequest: DFUSE_MEMORY_REQUEST # optional
dfuseCPULimit: DFUSE_CPU_LIMIT # optional
dfuseMemoryLimit: DFUSE_MEMORY_LIMIT # optional
capacity: Die Kapazität der Parallelstore-Instanz. Muss12Ti,16Tioder20Tisein.mountOptions: Übernimmt die Werte aus dem FeldmountOptionsin StorageClass.csi.volumeHandle: Eine eindeutige Kennung für eine Parallelstore-Instanz. Muss das FormatPROJECT_ID/LOCATION/INSTANCE_NAME/default-pool/default-containerhaben.csi.volumeAttributes.accessPoints: Eine Liste von IP-Adressen für Parallelstore-Serverknoten, durch Kommas getrennt.csi.volumeAttributes.network: Das VPC-Netzwerk der Parallelstore-Instanz, das mit dem Netzwerk des GKE-Clusters übereinstimmen muss. Mit diesem Feld wird geprüft, ob sich die angegebene Parallelstore-Instanz in einem gültigen Netzwerk befindet, bevor der CSI-Treiber sie bereitstellt.csi.volumeAttributes.mountLocality: Aktiviert den knotenlokalen Bereitstellungsmodus für die dynamische Bereitstellung. Die unterstützten Werte sindnodeoderpod. Der Standardwert istpod. Wennnodeangegeben ist, können Sie auch die folgenden Optionen verwenden:csi.volumeAttributes.dfuseCPURequest: Die CPU-Anfrage für den dfuse-Prozess. Der Standardwert ist250m.csi.volumeAttributes.dfuseMemoryRequest: Die Arbeitsspeicheranforderung für den dfuse-Prozess. Der Standardwert ist512Mi.csi.volumeAttributes.dfuseCPULimit: Das CPU-Limit für den dfuse-Prozess. Der Standardwert ist nicht festgelegt.csi.volumeAttributes.dfuseMemoryLimit: Das Arbeitsspeicherlimit für den dfuse-Prozess. Der Standardwert ist10Gi.