Managed Lustre CSI 驱动程序参考

以下清单描述了 StorageClass 和 PersistentVolume 资源中受支持的 CSI 驱动程序字段。

存储类别

以下清单包含 StorageClass 中的所有受支持字段。

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: lustre-csi-example-storage-class
provisioner: lustre.csi.storage.gke.io
parameters:
  network: VPC_NETWORK # optional
  filesystem: LUSTRE_FILESYSTEM_NAME # optional
  labels: KEY_1=VALUE_1,KEY_2=VALUE_2,...,KEY_N=VALUE_N # optional
  description: DESCRIPTION # optional
  perUnitStorageThroughput: 125 | 250 | 500 | 1000  # required
volumeBindingMode: WaitForFirstConsumer | Immediate # default is Immediate
allowedTopologies:
- matchLabelExpressions:
  - key: topology.gke.io/zone
    values:
    - ZONE_1
    - ZONE_2
mountOptions:
  - LUSTRE_MOUNT_OPTIONS

替换以下值:

  • network:可选。要在其中创建受管 Lustre 实例的虚拟私有云 (VPC) 网络。 如果未指定此属性,则系统会使用默认网络。

    如需在共享 VPC 网络中创建 Managed Lustre 实例,必须提供网络的完整名称。例如 projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME

  • filesystem:指定 Managed Lustre 实例的 fsname。此参数用于动态配置fsname 必须是最多包含 8 个字符的字母数字字符串,且以字母字符开头。如果您不提供值,CSI 驱动程序会生成格式为 "lfsNNNNN"fsname(例如 "lfs97603")。

  • labels:可选。 Managed Lustre 支持按实例添加标签,以键值对映射的形式表示。借助 Managed Lustre CSI 驱动程序,您可以将用户提供的标签附加到实例。

  • description:可选。实例的说明。不得超过 2,048 个字符。

  • perUnitStorageThroughput:指定实例的每单位存储吞吐量(MB/秒/TiB)。支持的值包括 1252505001000。默认值为 1000

  • allowTopologies:可选。Managed Lustre 实例是可用区级资源。如果未指定此属性,则会在与 CSI 控制器驱动程序 Pod 相同的可用区中创建 Managed Lustre 实例,并且卷绑定模式默认为 Immediate

    如果指定了 WaitForFirstConsumer,则拓扑会设置为 Pod 的调度位置。不过,此设置可能会导致 Pod 在等待卷完成预配时被阻塞。

    Managed Lustre CSI 驱动程序支持拓扑功能,以确保根据 StorageClass 中提供的拓扑将永久性卷和 Pod 放置在允许的拓扑中。

  • mountOptions:可选。指定 mount.lustre 装载选项。托管 Lustre 卷会从 pv.spec.mountOptions 字段中的 StorageClass 继承这些装载选项。

永久性卷

以下清单包含持久卷中的所有受支持字段。

apiVersion: v1
kind: PersistentVolume
metadata:
 name: preprov-pv
 annotations:
   pv.kubernetes.io/provisioned-by: lustre.csi.storage.gke.io
spec:
 mountOptions:
   - LUSTRE_MOUNT_OPTIONS
   ...
 storageClassName: ""
 capacity:
   storage: CAPACITY
 accessModes:
   - ReadWriteMany
 persistentVolumeReclaimPolicy: Retain
 volumeMode: Filesystem
 csi:
   driver: lustre.csi.storage.gke.io
   volumeHandle: EXISTING_LUSTRE_INSTANCE_NAME
   volumeAttributes:
     ip: EXISTING_LUSTRE_IP_ADDRESS
     filesystem: EXISTING_LUSTRE_FSNAME

替换以下值:

  • capacity.storage:Managed Lustre 实例的容量。 如需了解支持的最小和最大实例容量,请参阅性能层级
  • mountOptions:指定 mount.lustre 装载选项。此值继承自 StorageClass 中的 mountOptions 字段。
  • csi.volumeHandle:受管 Lustre 实例的专属标识符。必须使用以下格式:PROJECT_ID/LOCATION/INSTANCE_NAME
  • csi.volumeAttributes.ip:用于装载的 Managed Lustre 实例的 IP 地址。
  • csi.volumeAttributes.filesystem:Managed Lustre 实例的文件系统名称,是一个八字符标识符。