挂载动态存储卷是基于 Storage Class 实现的,在挂载动态存储卷前,需要 AKS 管理员创建存储类型(StorageClass)。
说明 
目前敏捷 PaaS 底座环境下,AKS 未对接阿里云的 NAS 及云盘存储,若要使用存储功能,需要您安装第三方存储插件。
前提条件
已 创建存储类型。
创建 PVC
您需要在创建 Pod 前创建存储声明,供创建 Pod 时使用。PVC 创建后,会有对应的 PV 自动创建出来。
云盘类型 PVC 样例
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: test-pvc
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 25Gi
  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 样例
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: test-pvc
spec:
  accessModes:
  - ReadWriteMany
  resources:
    requests:
      storage: 25Gi
  storageClassName: csi-nas-capacity # 或者 csi-nas-performance重要 
对于 NAS 存储,其对应的存储空间限制能力将不会生效,不会限制容器在运行时数据的写入量,仅仅用做 PV-PVC 在绑定过程的匹配。
参数说明
参数名  | 参数说明  | 是否必选  | 备注  | 
accessModes  | 只读/读写  | 否  | 可选值:- ReadWriteOnce- ReadWriteMany  | 
storage  | 存储空间大小  | 是  | 遵循后端存储限制,如阿里云 NAS 限制。文件系统容量上限都为 1PB(性能型)或者 10PB(容量型)。  | 
storageClassName  | storage class 名字  | 是  | 必选指定一个已经存在的名字,否则云盘无法创建。  | 
使用 PVC
您可以在创建 Pod 时使用 PVC 挂载动态数据卷。
apiVersion: v1
kind: Pod
metadata:
  name: pod-with-nas
  labels:
    app: nginx
spec:
  tolerations:
  - key: node.kubernetes.io/unreachable
    effect: NoSchedule
    operator: Exists
  automountServiceAccountToken: false
  containers:
  - name: busybox
    image: reg-cnsh-nf.cloud.alipay.com/library/busybox
    command: ["sleep", "3000"]
    ports:
    - containerPort: 80
    volumeMounts:
      - name: data
        mountPath: "/data"
  volumes:
    - name: data
      persistentVolumeClaim:
        claimName: test-pvc容器运行后,可以看到 Pod 的状态为 running:
# kubectl get pod
NAME            READY   STATUS    RESTARTS   AGE
pod-with-nas   1/1     Running   0          103s该文章对您有帮助吗?