使用 PVC 挂载静态存储卷

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

说明

目前 LHC 未对接阿里云的 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
namespace:default
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
namespace:default
  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/1Running0103s