kubernetes 使用ceph rbd实现 pv动态扩容
kubernetes 结合ceph分布式文件存储,实现持久化存储数据的高可用功能。
在日常支持中,我们会碰到一些需要对kubernetes 中pv卷配额不足,需要扩容的情况,如果不能动态调整,要停服维护,就会影响到业务。在此我们结合ceph 集群,通过使用ceph的 rbd 存储动态扩容功能,来完善kubernetes集群的持久存储高可用、不停服扩容的功能需求。
如下主要是针对ceph的 rbd 创建的pv进行扩容操作:
1、查询pv对应的 rbd image
kubectl get pv pvc-name -o yaml |grep image
例如: kubernetes-dynamic-pvc-0fc6b77a-ac27-11e8-ae7c-0a580af40302
2、获取使用改pv的 pod 所在物理机节点:
kubectl get pod harbor-harbor-database-0 -o wide
harbor-harbor-database-0 1/1 Running 0 54m 10.244.1.130 vm102
3、查看 rbd 镜像信息:
rbd image 'kubernetes-dynamic-pvc-0fc6b77a-ac27-11e8-ae7c-0a580af40302':
size 8192 MB in 2048 objects
order 22 (4096 kB objects)
block_name_prefix: rbd_data.62226b8b4567
format: 2
features: layering
flags:
create_timestamp: Thu Aug 30 15:34:00 2018
4、修改镜像大小,这里直接就可以对rbd镜像进行空间大小更新操作。
rbd resize --image kubernetes-dynamic-pvc-0fc6b77a-ac27-11e8-ae7c-0a580af40302 --size 40960
5、登录 pod所在物理机,查询 pv 对应的挂载点:
df -h|grep rbd
/dev/rbd0 4.0G 700M 3.3G 18% /var/lib/kubelet/plugins/kubernetes.io/rbd/mounts/rbd-image-kubernetes-dynamic-pvc-0e294e02-acf9-11e8-ae7c-0a580af40302
6、完成后,我们在pod所在宿主机,进行更新大小
blockdev --getsize64 /dev/rbd0
resize2fs /dev/rbd0
此时 ,登录到pod ,可以看到pv卷已经扩容完成。且不影响pod 正常对外提供服务。
- 点赞
- 收藏
- 关注作者
评论(0)