您可以通过绑定已存在的 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,格式为 | 是 | 您可以在资源管理控制台上的 云服务器 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
文档内容是否对您有帮助?