更新时间:2024-08-17 GMT+08:00

使用kubectl对接已有极速文件存储卷

操作场景

CCE支持使用已有的极速文件存储来创建PersistentVolume,创建成功后,通过创建相应的PersistentVolumeClaim来绑定当前的PersistentVolume使用。

约束与限制

如下配置示例适用于Kubernetes 1.13及以下版本的集群。

操作步骤

  1. 登录SFS控制台,创建一个文件存储,记录文件存储的ID、共享路径和容量。
  2. 请参见通过kubectl连接集群,使用kubectl连接集群。
  3. 新建两个yaml文件,用于创建PersistentVolume(PV)、PersistentVolumeClaim(PVC)。假设文件名分别为pv-efs-example.yamlpvc-efs-example.yaml

    touch pv-efs-example.yaml pvc-efs-example.yaml

    • PV yaml文件配置示例如下:
      apiVersion: v1 
      kind: PersistentVolume 
      metadata: 
        name: pv-efs-example 
        annotations:
          pv.kubernetes.io/provisioned-by: flexvolume-huawei.com/fuxiefs
      spec: 
        accessModes: 
        - ReadWriteMany 
        capacity: 
          storage: 100Gi 
        claimRef:
          apiVersion: v1
          kind: PersistentVolumeClaim
          name: pvc-efs-example
          namespace: default
        flexVolume: 
          driver: huawei.com/fuxiefs 
          fsType: efs 
          options: 
            deviceMountPath: <your_deviceMountPath>  #您的极速文件存储共享路径 
            fsType: efs 
            volumeID: 8962a2a2-a583-4b7f-bb74-fe76712d8414 
        persistentVolumeReclaimPolicy: Delete 
        storageClassName: efs-standard
      表1 关键参数说明

      参数

      描述

      driver

      挂载依赖的存储驱动,极速文件存储配置为“huawei.com/fuxiefs”。

      deviceMountPath

      极速文件存储的共享路径。

      volumeID

      极速文件存储的ID。

      获取方法:在CCE控制台,单击左侧栏目树中的“资源管理-存储管理”,在“极速文件存储卷”页签下单击PVC的名称,在PVC详情页中复制“PVC UID”后的内容即可。

      storage

      文件存储的大小。

      storageClassName

      极速文件存储支持的卷类型,当前支持efs-standard、efs-performance(目前SFS Turbo不支持动态创建,所以此参数后续没有使用)。

      spec.claimRef.apiVersion

      固定值"v1"。

      spec.claimRef.kind

      固定值"PersistentVolumeClaim"。

      spec.claimRef.name

      与下一步创建的pvc的name一致。

      spec.claimRef.namespace

      与下一步创建的pvc的namespace一致。

    • PVC yaml文件配置示例如下:
      apiVersion: v1 
      kind: PersistentVolumeClaim 
      metadata: 
        annotations: 
          volume.beta.kubernetes.io/storage-class: efs-standard 
          volume.beta.kubernetes.io/storage-provisioner: flexvolume-huawei.com/fuxiefs 
        name: pvc-efs-example 
        namespace: default 
      spec: 
        accessModes: 
        - ReadWriteMany 
        resources: 
          requests: 
            storage: 100Gi 
        volumeName: pv-efs-example
      表2 关键参数说明

      参数

      描述

      volume.beta.kubernetes.io/storage-class

      文件存储支持的读写方式,支持efs-standard、efs-performance。必须和已有PV保持一致。

      volume.beta.kubernetes.io/storage-provisioner

      必须使用flexvolume-huawei.com/fuxiefs。

      storage

      存储容量,单位Gi,必须和已有pv的storage大小保持一致。

      volumeName

      PV的名称。

    极速文件存储所在VPC,子网必须与工作负载规划部署的ECS虚拟机的VPC保持一致,安全组开放入方向端口(111、445、2049、2051、20048)。

  4. 创建PV。

    kubectl create -f pv-efs-example.yaml

  5. 创建PVC。

    kubectl create -f pvc-efs-example.yaml