k8s 动态扩容 Ceph 持久卷
主要是针对 ceph 的 rbd 创建的 pv 进行扩容操作。
StorageClass 配置自动扩容
需要配置 storage class,开启允许扩容选项 allowVolumeExpansion
apiVersion: storage.k8s.io/v1
kind: StorageClass
allowVolumeExpansion: true
provisioner: ceph.com/rbd
任何从这一 StorageClass
中创建的 PVC 都能够通过编辑的方式来申请更多空间。Kubernetes 会处理 Storage 字段的变更,据此申请空间,触发卷的扩容。
对已创建的 PV 进行扩容
查看 PV 信息
$ kubectl describe pv pvc-3e1e651c-fcce-4a31-8283-8b5d7f4859fc |grep Image RBDImage: kubernetes-dynamic-pvc-dbaa94d7-ecdd-11ea-a4f5-aedb151bd819
查看 rbd 镜像信息
$ rbd info kcha/kubernetes-dynamic-pvc-dbaa94d7-ecdd-11ea-a4f5-aedb151bd819 rbd image 'kubernetes-dynamic-pvc-dbaa94d7-ecdd-11ea-a4f5-aedb151bd819': size 30 GB in 256000 objects order 22 (4096 kB objects) block_name_prefix: rbd_data.b642e6b8b4567 format: 2 features: layering flags:
修改 rbd 大小
$ rbd resize --size 1024000 kcha/kubernetes-dynamic-pvc-dbaa94d7-ecdd-11ea-a4f5-aedb151bd819
更新 PV 大小
$ kubectl edit pv pvc-3e1e651c-fcce-4a31-8283-8b5d7f4859fc
修改其中的
storage: 30Gi
大小。然后kubectl get pv
查看更新。更新 PVC 大小
$ kubectl edit pvc esdata-es-0
修改其中的
storage: 30Gi
大小。然后kubectl get pvc
查看更新。重启挂载该 PVC 的 Pod。
相关文章