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
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_NAME
labels
: 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-level
definiert die Einstellungen für das Dateistreifenverfahren. Zulässige Werte sind:file-stripe-level-balanced
file-stripe-level-max
file-stripe-level-min
Weitere Informationen finden Sie unter Überlegungen zur Leistung.
directory-stripe-level
definiert die Striping-Ebene für Verzeichnisse. Zulässige Werte sind:directory-stripe-level-balanced
directory-stripe-level-max
directory-stripe-level-min
Weitere Informationen finden Sie unter Überlegungen zur Leistung.
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 Volumebindungsmodusimmediate
erstellt.volumeBindingMode
: Gibt den Modus für die Topologieauswahl an. Im Modusimmediate
wird der inallowedTopologies
angegebene Wert verwendet. Im ModuswaitForFirstConsumer
wird 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_kb
undmax_ratio
. Diese Werte werden von Volumes übernommen, die von Parallelstore-Instanzen unterstützt werden, in das Feld.spec.mountOptions
des 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
capacity
: Die Kapazität der Parallelstore-Instanz. Muss12Ti
,16Ti
oder20Ti
sein.mountOptions
: Übernimmt die Werte aus dem FeldmountOptions
in StorageClass.csi.volumeHandle
: Eine eindeutige Kennung für eine Parallelstore-Instanz. Muss das FormatPROJECT_ID/LOCATION/INSTANCE_NAME/default-pool/default-container
haben.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.