CSI 驅動程式參考資料

下列資訊清單說明 StorageClass 和 PersistentVolume 資源中支援的 CSI 驅動程式欄位。

儲存空間級別

下列資訊清單包含 StorageClass 中所有支援的欄位。

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

下列欄位均為選填:

  • 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

    詳情請參閱效能注意事項

  • mountLocality:啟用動態佈建的節點本機掛接模式。支援的值為 nodepod。預設值為 pod。 如果指定 node,您也可以使用下列選項:

    • dfuseCPURequest:dfuse 程序的 CPU 要求。預設值為 250m
    • dfuseMemoryRequest:dfuse 程序的記憶體要求。預設值為 512Mi
    • dfuseCPULimit:dfuse 程序的 CPU 限制。預設值為「未設定」。
    • dfuseMemoryLimit:dfuse 程序的記憶體限制。預設值為 10Gi
  • 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:預先讀取視窗的大小 (以 KB 為單位)。
    • max_ratio:允許限制特定裝置使用的寫回快取百分比,不得超過指定百分比。

    如要瞭解這些選項,請參閱「效能考量」。

永久磁碟區

下列資訊清單包含 PersistentVolume 中所有支援的欄位。

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:Parallelstore 執行個體的容量。必須是下列之一:12Ti16Ti20Ti
  • mountOptions:從 StorageClass 的 mountOptions 欄位繼承。
  • csi.volumeHandle:Parallelstore 執行個體的專屬 ID。 必須使用下列格式: PROJECT_ID/LOCATION/INSTANCE_NAME/default-pool/default-container
  • csi.volumeAttributes.accessPoints:以逗號分隔的 Parallelstore 伺服器節點 IP 位址清單。
  • csi.volumeAttributes.network:Parallelstore 執行個體的虛擬私有雲網路,必須與 GKE 叢集的網路一致。這個欄位用於驗證所提供的 Parallelstore 執行個體是否位於有效網路中,再由 CSI 驅動程式掛接。
  • csi.volumeAttributes.mountLocality:啟用動態佈建的節點本機掛接模式。支援的值為 nodepod。預設值為 pod。 如果指定 node,您也可以使用下列選項:

    • csi.volumeAttributes.dfuseCPURequest:dfuse 程序的 CPU 要求。預設值為 250m
    • csi.volumeAttributes.dfuseMemoryRequest:dfuse 程序的記憶體要求。預設值為 512Mi
    • csi.volumeAttributes.dfuseCPULimit:dfuse 程序的 CPU 限制。預設值為「未設定」。
    • csi.volumeAttributes.dfuseMemoryLimit:dfuse 程序的記憶體限制。預設值為 10Gi