k8s 集群 rbd 扩容有两种方法,如下所示
# kubectl get sc csi-rbd-sc -oyaml|grep allowVolumeExpansion
allowVolumeExpansion: true
如果搜索有如上字段,说明是可以自动扩容的,修改对应要扩容的 PVC容量,会自动触发扩容,自动修改 pv 和 rbd 的容量,查看 pod 磁盘是否生效即可
# kubectl describe pv pvc-f9989981-16a5-48e1-a2a5-87c78344659c |grep image
imageFeatures=layering
imageName=csi-vol-8cbe2268-82cd-11ee-976b-5ec817d56b22
# 如果不知道rbd在哪个pool里,可以执行如下命令查看
ceph osd lspools
rbd ls k8srbd|grep csi-vol-8cbe2268-82cd-11ee-976b-5ec817d56b22
# 我的是在k8srbd里
rbd info k8srbd/csi-vol-8cbe2268-82cd-11ee-976b-5ec817d56b22
rbd image 'csi-vol-8cbe2268-82cd-11ee-976b-5ec817d56b22':
size 500 GiB in 128000 objects
order 22 (4 MiB objects)
snapshot_count: 0
id: 733dda52471d
block_name_prefix: rbd_data.733dda52471d
format: 2
features: layering
op_features:
flags:
create_timestamp: Tue Nov 14 17:09:43 2023
access_timestamp: Tue Nov 14 17:09:43 2023
modify_timestamp: Tue Nov 14 17:09:43 2023
rbd resize --size 1000G k8srbd/csi-vol-8cbe2268-82cd-11ee-976b-5ec817d56b22
kubectl edit pv pvc-f9989981-16a5-48e1-a2a5-87c78344659c
kubectl edit pvc app-pvc
kubectl exec app-pod -- df -h