使用 PVC 挂载静态存储卷

您可以通过绑定已存在的 PV 为 Pod 挂载静态存储卷。

说明

目前敏捷 PaaS 底座环境下,AKS 未对接阿里云的 NAS 及云盘存储,若要使用存储功能,需要您安装第三方存储插件。

前提条件

创建静态 PV

创建 PV 并绑定一个已经存在的云盘。您可以使用 YAML 文件或者控制台界面创建 PV。

YAML 样例如下:

apiVersion: v1
kind: PersistentVolume
metadata:
  labels:
    cafe.sofastack.io/diskId: d-zm0fd73z6tmf5j7pgbpe
  name: pv-efficient
spec:
  accessModes:
  - ReadWriteOnce
  capacity:
    storage: 25Gi
  csi:
    driver: antcloud-csi
    fsType: ext4
    volumeAttributes:
      storage_type: cloud_disk
    volumeHandle: instance_test_efficiency
  storageClassName: csi-disk-efficiency

参数说明

参数名

参数说明

是否必选

备注

cafe.sofastack.io/diskId

阿里云的云盘 ID,格式为 d-xxx

您可以在资源管理控制台上的 云服务器 ECS > 存储与快照 > 云盘 中获取云盘 ID。

volumeAttributes

磁盘属性

遵循后端存储限制,如 阿里云盘限制。对于 csi-disk-ssd 和 csi-disk-efficiency 两种 Storage Class,最小的 size 都是 20G。

volumeHandle

表示后端存储的唯一 ID,由用户指定。

-

创建 PVC 并指定其绑定到 PV

您可以使用 YAML 文件或者控制台界面创建 PVC。

YAML 样例如下:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
 name: test-pvc
spec:
 accessModes:
 - ReadWriteOnce
 resources:
   requests:
     storage: 25Gi
 storageClassName: csi-disk-efficiency
 volumeName: pv-efficient
说明

必须要有 volumeName 字段,指定已有的 PV。参数说明参考 使用 PVC 挂载动态存储卷

使用 PVC

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

apiVersion: v1
kind: Pod
metadata:
  name: pod-with-disk
  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-disk   1/1     Running   0          103s