挂载动态存储卷是基于 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
文档内容是否对您有帮助?