云容器引擎 CCE-通过StorageClass动态创建SFS Turbo子目录:创建subpath类型SFS Turbo存储卷

时间:2024-04-23 19:45:33

创建subpath类型SFS Turbo存储卷

  1. 创建SFS Turbo资源,选择网络时,请选择与集群相同的VPC与子网。
  2. 新建一个StorageClass的YAML文件,例如sfsturbo-subpath-sc.yaml。

    配置示例:

    apiVersion: storage.k8s.io/v1
    allowVolumeExpansion: true
    kind: StorageClass
    metadata:
      name: sfsturbo-subpath-sc
    mountOptions:
    - lock
    parameters:
      csi.storage.k8s.io/csi-driver-name: sfsturbo.csi.everest.io
      csi.storage.k8s.io/fstype: nfs
      everest.io/archive-on-delete: "true"
      everest.io/share-access-to: 7ca2dba2-1234-1234-1234-626371a8fb3a
      everest.io/share-expand-type: bandwidth
      everest.io/share-export-location: 192.168.1.1:/sfsturbo/
      everest.io/share-source: sfs-turbo
      everest.io/share-volume-type: STANDARD
      everest.io/volume-as: subpath
      everest.io/volume-id: 0d773f2e-1234-1234-1234-de6a35074696
    provisioner: everest-csi-provisioner
    reclaimPolicy: Delete
    volumeBindingMode: Immediate

    其中:

    • name:storageclass的名称。
    • mountOptions:选填字段;mount挂载参数。
      • everest 1.2.8以下,1.1.13以上版本仅开放对nolock参数配置,mount操作默认使用nolock参数,无需配置。nolock=false时,使用lock参数。
      • everest 1.2.8及以上版本支持更多参数,默认使用如下所示配置,具体请参见设置挂载参数此处不能配置为nolock=true,会导致挂载失败。
        mountOptions:
        - vers=3
        - timeo=600
        - nolock
        - hard
    • everest.io/volume-as:该参数需设置为“subpath”来使用subpath模式。
    • everest.io/share-access-to:选填字段。subpath模式下,填写SFS Turbo资源的所在VPC的ID。
    • everest.io/share-expand-type:选填字段。若SFS Turbo资源存储类型为增强版(标准型增强版、性能型增强版),设置为bandwidth。
    • everest.io/share-export-location:挂载目录配置。由SFS Turbo共享路径和子目录组成,共享路径可至SFS Turbo服务页面查询,子路径由用户自定义,后续指定该StorageClass创建的PVC均位于该子目录下。
    • everest.io/share-volume-type:选填字段。填写SFS Turbo的类型。标准型为STANDARD,性能型为PERFORMANCE。对于增强型需配合“everest.io/share-expand-type”字段使用,everest.io/share-expand-type设置为“bandwidth”。
    • everest.io/zone:选填字段。指定SFS Turbo资源所在的可用区。
    • everest.io/volume-id:SFS Turbo资源的卷ID,可至SFS Turbo界面查询。
    • everest.io/archive-on-delete:若该参数设置为“true”,在回收策略为“Delete”时,删除PVC会将PV的原文档进行归档,归档目录的命名规则“archived-$pv名称.时间戳”。该参数设置为“false”时,会将PV对应的SFS Turbo子目录删除。默认设置为“true”,即删除PVC时进行归档。

  1. 执行kubectl create -f sfsturbo-subpath-sc.yaml
  2. 新建一个PVC的YAML文件,sfs-turbo-test.yaml。

    配置示例:

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: sfs-turbo-test
      namespace: default
    spec:
      accessModes:
      - ReadWriteMany
      resources:
        requests:
          storage: 50Gi
      storageClassName: sfsturbo-subpath-sc
      volumeMode: Filesystem

    其中:

    • name: PVC的名称。
    • storageClassName:SC的名称。
    • storage:subpath模式下,调整该参数的大小不会对SFS Turbo容量进行调整。实际上,subpath类型的卷是SFS Turbo中的一个文件路径,因此在PVC中对subpath类型的卷扩容时,不会同时扩容SFS Turbo资源。

      subpath子目录的容量受限于SFS Turbo资源的总容量,若SFS Turbo资源总容量不足,请您及时到SFS Turbo界面调整。

  1. 执行kubectl create -f sfs-turbo-test.yaml
support.huaweicloud.com/usermanual-cce/cce_bestpractice_00253.html