CSI 驱动程序参考

以下清单介绍了存储类和永久性卷资源中支持的 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_kbmax_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 实例的容量。必须是 12Ti16Ti20Ti 之一。
  • 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 实例之前验证该实例是否位于有效的网络中。