我在安装kubentes存储组件的时候,不是使用官方csi安装的,而是使用https://github.com/kubernetes-retired/external-storage 提供的镜像安装的功能,底层存储是CEPH。
我申请2G的PVC。
test-be-01 Bound pvc-ef145c0b-d9ee-4a99-9821-8ca69ea12515 2Gi RWO ceph-rbd 61m
将pvc挂在pod下,并查看使用情况,存储快到达瓶颈。
root@test:/data/aa1# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
...
rbd6 252:96 0 2G 0 disk /data/aa1
...
root@test:/data/aa1# lsblk
...
-rw-r--r-- 1 root root 717M Nov 7 10:24 1.txt
-rw-r--r-- 1 root root 258M Nov 7 10:23 2.txt
-rw-r--r-- 1 root root 1017M Nov 7 11:31 3.txt
修改PVC进行扩容至5G,并重启Pod,PVC修改成功。
test-be-01 Bound pvc-ef145c0b-d9ee-4a99-9821-8ca69ea12515 5Gi RWO ceph-rbd 95m
但是查看pod内的存储大小未生效。
root@test:/data/aa1# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
...
rbd6 252:96 0 2G 0 disk /data/aa1
...
PVC扩容生效,但实际Pod中未生效,如何解决不生效问题。
你使用的非官方的CSI镜像,该镜像未实现自动扩容接口,修改的PVC只是针对k8s进行了修改操作,但未对ceph和本地挂载进行扩容操作。
通过查询pv获取ceph的pool和镜像内容:
kubectl get pv pvc-ef145c0b-d9ee-4a99-9821-8ca69ea12515 -o yaml ... rbd: fsType: xfs image: kubernetes-dynamic-pvc-ef145c0b-d9ee-4a99-9821-8ca69ea12515 ... pool: k8s-rbd ...
进入ceph的管理节点。
查看
rbd info k8s-rbd/kubernetes-dynamic-pvc-ef145c0b-d9ee-4a99-9821-8ca69ea12515
手动扩容ceph的镜像大小:
rbd resize k8s-rbd/kubernetes-dynamic-pvc-ef145c0b-d9ee-4a99-9821-8ca69ea12515 --size 5G
查看Pod所在的宿主机,找到对应挂的磁盘 /dev/rbd6 根据不同的文件类型执行下列命令。
# 类型为:xfs xfs_growfs /dev/rbd6 # 其它类型使用 resize2fs /dev/rbd6
在查看pod内的大小,已经生效了。
你的答案