Skip to Content

创建PVC

当前存储卷支持SSD、SATA类型的UDisk以及UFS,详见:

创建StorageClass

在创建持久化存储卷(persistentVolume)之前,你需要先创建StorageClass,然后在PVC中使用StorageClassName。

UK8S集群默认创建了两个StorageClass,你也可以创建一个新的StorageClass,示例及说明如下:

1、CSI版本(2019年9月17日之后创建的UK8S集群)

apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: udisk-ssd-test provisioner: udisk.csi.ucloud.cn #存储供应方,此处不可更改。 parameters: type: "ssd" # 存储介质,支持sdd和sata,必填 fsType: "ext4" # 文件系统,必填 udataArkMode: "no" # 是否开启方舟模式,默认不开启,非必填 chargeType: "month" # 付费类型,支持dynamic、month、year,默认为month,非必填 quantity: "1" # 购买时长,dynamic无需填写,可购买1-9个月,或1-10年 reclaimPolicy: Delete # PV回收策略,支持Delete和Retain,默认为Delete,非必填 allowVolumeExpansion: true # 声明该存储类支持可扩容特性 mountOptions: - debug - rw

备注:1.15之前的Kubernetes版本,mountOptions无法正常使用,请勿填写,详见Issue80191

2、flexVolume版本(2019年9月17日之前创建的UK8S集群)

kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: udisk-ssd-test provisioner: ucloud/udisk parameters: type: ssd reclaimPolicy: Retain

provisioner: 存储供应方,此处必须为ucloud/udisk,否则创建出来的StorageClass可能无效。

parameters.type: UDisk的存储介质类型,支持ssd和sata,默认为ssd。

reclaimPolicy: 回收策略,支持Delete和Retain,默认为Delete。

创建一个存储卷声明并Mount到Pod

kind: PersistentVolumeClaim apiVersion: v1 metadata: name: test-pvc-claim spec: accessModes: - ReadWriteOnce storageClassName: udisk-ssd-test #注意修改为你自己创建的StorageClassName resources: requests: storage: 20Gi --- apiVersion: v1 kind: Pod metadata: name: nginx spec: containers: - name: nginx image: nginx volumeMounts: - name: test mountPath: /data ports: - containerPort: 80 volumes: - name: test persistentVolumeClaim: claimName: test-pvc-claim

备注:受UDisk产品限制,PVC最小为20GB,步长为10GB。

容器启动后,我们可以登录容器执行df -h 命令,查看存储卷是否挂载成功。