以下清单介绍了存储类和永久性卷资源中支持的 CSI 驱动程序字段。
存储类别
以下清单包含存储类中支持的所有字段。
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
以下所有字段均为选填字段:
network
:用于创建 Parallelstore 实例的 VPC 网络。如果未指定此属性,系统会使用 GKE 集群的网络。如需在共享 VPC 网络中创建 Parallelstore 实例,必须提供该网络的完整名称。例如:
projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME
。labels
:要附加到此实例的用户指定键值对。description
:实例的说明。不得超过 2048 个字符。reserved-ip-range
:已分配的 IP 地址范围的名称。如果未指定,则系统会考虑所有范围。file-stripe-level
用于定义文件剥离设置。允许的值为:file-stripe-level-balanced
file-stripe-level-max
file-stripe-level-min
如需了解详情,请参阅性能注意事项。
directory-stripe-level
用于定义目录的剥离级别。允许的值为:directory-stripe-level-balanced
directory-stripe-level-max
directory-stripe-level-min
如需了解详情,请参阅性能注意事项。
allowedTopologies
:指定要在其中创建 Parallelstore 实例的区域。如果未指定此字段,则实例将在 CSI 驱动程序部署所在的区域中创建,并采用immediate
卷绑定模式。volumeBindingMode
:指定拓扑选择模式。immediate
模式使用allowedTopologies
中指定的值。waitForFirstConsumer
模式会将拓扑分配给安排 GKE Pod 的可用区。这可能会导致 Pod 在等待预配卷时被阻塞。mountOptions
:指定 dfuse 挂载选项和内核参数,包括read_ahead_kb
和max_ratio
。由 Parallelstore 实例支持的卷会继承永久性卷的.spec.mountOptions
字段中的这些值。选项如下:
disable-caching
:停用所有缓存。默认情况下,在 GKE 中挂载 Parallelstore 实例时,系统会启用完整缓存(回写缓存除外)。enable-wb-cache
:使用回写缓存,而不是写穿缓存。thread-count
:要使用的线程数。此值是 FUSE 线程数和事件队列数的总和。eq-count
:要使用的事件队列数量。read_ahead_kb
:预读窗口的大小(以千字节为单位)。max_ratio
:允许限制特定设备使用的回写缓存不得超过给定百分比。
如需了解这些选项,请参阅性能注意事项。
永久性卷
以下清单包含永久性卷中支持的所有字段。
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
:Parallelstore 实例的容量。必须是12Ti
、16Ti
或20Ti
之一。mountOptions
:从 StorageClass 中的mountOptions
字段继承。csi.volumeHandle
:Parallelstore 实例的专属标识符。必须使用以下格式:PROJECT_ID/LOCATION/INSTANCE_NAME/default-pool/default-container
csi.volumeAttributes.accessPoints
:Parallelstore 服务器节点的 IP 地址列表,以英文逗号分隔。csi.volumeAttributes.network
:Parallelstore 实例的 VPC 网络,必须与 GKE 集群的网络保持一致。此字段用于在 CSI 驱动程序挂载所提供的 Parallelstore 实例之前验证该实例是否位于有效的网络中。