全部产品
云市场

使用 PVC 挂载动态存储卷

更新时间:2019-08-30 17:07:03

挂载动态存储卷是基于 Storage Class 实现的,在挂载动态存储卷前,需要 AKS 管理员创建存储类型(StorageClass)。

前提条件

创建存储类型

创建 PVC

您需要在创建 Pod 前创建存储声明,供创建 Pod 时使用。PVC 创建后,会有对应的 PV 自动创建出来。

云盘类型 PVC 样例

  1. apiVersion: v1
  2. kind: PersistentVolumeClaim
  3. metadata:
  4. name: test-pvc
  5. spec:
  6. accessModes:
  7. - ReadWriteOnce
  8. resources:
  9. requests:
  10. storage: 25Gi
  11. storageClassName: csi-disk-efficiency # csi-disk-ssd

参数说明

参数名 参数说明 是否必选 备注
accessModes 只读/读写 仅支持:ReadWriteOnce
storage 存储空间大小 遵循后端存储限制,参考 阿里云云盘限制
对于 csi-disk-ssd 和 csi-disk-efficiency 两种 Storage Class,最小的存储空间都是 20Gi,否则 PV 无法创建成功,PVC 会一直处于 pending 状态。
storageClassName storage class名字 必选指定一个已经存在的名字,否则云盘无法创建。

NAS 类型 PVC 样例

  1. apiVersion: v1
  2. kind: PersistentVolumeClaim
  3. metadata:
  4. name: test-pvc
  5. spec:
  6. accessModes:
  7. - ReadWriteMany
  8. resources:
  9. requests:
  10. storage: 25Gi
  11. storageClassName: csi-nas-capacity # 或者 csi-nas-performance

重要:对于 NAS 存储,其对应的存储空间限制能力将不会生效,不会限制容器在运行时数据的写入量,仅仅用做 PV-PVC 在绑定过程的匹配。

参数说明

参数名 参数说明 是否必选 备注
accessModes 只读/读写 可选值:
- ReadWriteOnce
- ReadWriteMany
storage 存储空间大小 遵循 后端存储限制,如阿里云 NAS 限制。
文件系统容量上限都为 1PB(性能型)或者 10PB(容量型)。
storageClassName storage class 名字 必选指定一个已经存在的名字,否则云盘无法创建。

使用 PVC

您可以在创建 Pod 时使用 PVC 挂载动态数据卷。

说明:使用 NAS 前,务必安装 NAS 挂载需要的 nfs-tools 工具包:sudo yum install nfs-utils

  1. apiVersion: v1
  2. kind: Pod
  3. metadata:
  4. name: pod-with-nas
  5. labels:
  6. app: nginx
  7. spec:
  8. tolerations:
  9. - key: node.kubernetes.io/unreachable
  10. effect: NoSchedule
  11. operator: Exists
  12. automountServiceAccountToken: false
  13. containers:
  14. - name: busybox
  15. image: reg-cnsh-nf.cloud.alipay.com/library/busybox
  16. command: ["sleep", "3000"]
  17. ports:
  18. - containerPort: 80
  19. volumeMounts:
  20. - name: data
  21. mountPath: "/data"
  22. volumes:
  23. - name: data
  24. persistentVolumeClaim:
  25. claimName: test-pvc

容器运行后,可以看到 Pod 的状态为 running:

  1. # kubectl get pod
  2. NAME READY STATUS RESTARTS AGE
  3. pod-with-nas 1/1 Running 0 103s