k8s集群 ceph rbd 存储动态扩容

k8s 集群 rbd 扩容有两种方法,如下所示

通过StorageClass自动扩容

bash 复制代码
# kubectl get sc csi-rbd-sc -oyaml|grep allowVolumeExpansion
allowVolumeExpansion: true

如果搜索有如上字段,说明是可以自动扩容的,修改对应要扩容的 PVC容量,会自动触发扩容,自动修改 pv 和 rbd 的容量,查看 pod 磁盘是否生效即可

手动扩容

  1. 查看pv挂载 rbd 设备
bash 复制代码
# kubectl describe pv pvc-f9989981-16a5-48e1-a2a5-87c78344659c |grep image
                           imageFeatures=layering
                           imageName=csi-vol-8cbe2268-82cd-11ee-976b-5ec817d56b22
  1. 登录 ceph 集群,或者可以连接测评和集群的机器,查看上一步 rbd 镜像信息
bash 复制代码
# 如果不知道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
  1. 修改 rbd 大小到 1000G
bash 复制代码
rbd resize --size 1000G k8srbd/csi-vol-8cbe2268-82cd-11ee-976b-5ec817d56b22
  1. 更新 PV 和 PVC 容量大小,编辑后查看pv pvc是否已经更新到预期容量状态
bash 复制代码
kubectl edit pv pvc-f9989981-16a5-48e1-a2a5-87c78344659c
kubectl edit pvc app-pvc
  1. 查看对应挂载 pod 是否已经扩容
bash 复制代码
kubectl exec app-pod -- df -h
相关推荐
fengkai454536 分钟前
3、Kubernetes的Namespace&Contexts&Pod&YAML格式
运维·容器·kubernetes·k8s·namespace·yaml·pod
SatanII2 小时前
K8s 存储与配置管理|Volume、ConfigMap、Secret 核心笔记
笔记·rpc·kubernetes
容器魔方2 小时前
Volcano v1.16 发布:新增 NamespaceQueue 与 fairshare,拓展 HyperNode 生态
人工智能·云原生·容器·华为云·云计算
秦jh_3 小时前
【Docker】镜像、卷原理
运维·docker·容器
小马同学-3 小时前
K8s 命名空间与上下文:Namespace 资源隔离与多集群切换实战
云原生·容器·kubernetes
I'mChloe4 小时前
飞牛NAS部署flatnotes实战:Docker、8080端口、Markdown笔记与固定地址访问
笔记·docker·容器
川石课堂软件测试4 小时前
涨薪技术|0到1学会性能测试第9课-HTTP响应统计
数据库·功能测试·网络协议·http·kubernetes·单元测试·测试用例
探索云原生5 小时前
Ascend vNPU 实战:从原生 Docker 到 Ascend Docker Runtime
linux·ai·云原生·kubernetes·gpu
许知珩5 小时前
Kubernetes 存储与配置管理 ——Volume、ConfigMap 与 Secret 实战详解
云原生·容器·kubernetes
你看我名字8 小时前
LAMP 架构演练:从云主机准备到 Apache、PHP、MySQL 上线验证
运维·ci/cd·架构·kubernetes·jenkins