注:本文以腾讯云容器服务集群进行测试,对pvc进行扩容,实际是云盘大小扩容,对应容器内相应磁盘空间进行适配
开始之前
首先当然是要有一个 Kubernetes 1.12 版本的集群,在日常使用中,对应pvc 10G大小不足以适用于长期使用,会出现存储达到上限,就要考虑pvc大小扩容。
云盘数据卷扩容包括以下几个部分:
云盘物理空间扩容,需要在云盘控制台操作; 文件系统扩容,需要挂载云盘到一个物理节点手动操作; PV、PVC Size更新,需要更新StorageClass、PVC;
注意:扩容文件系统操作不慎可能影响已有数据,因此强烈建议在操作前手动 创建快照 备份数据。
扩容前,先在对应pod内创建个文件,stat看下对应时间戳
根据云盘文档,对云盘进行库容:
https://cloud.tencent.com/document/product/362/6738
注意:扩容云盘的同时也要完成对文件系统的扩容。
由于当前云盘无法做到在线扩容,需登陆到CBS控制台 对磁盘大小进行扩容:
由10G扩容至20G大小
扩容完成后,磁盘大小显示20G
node节点上显示 还是10G
扩容前先对pod进行停止运行,避免数据持续写入,出现数据丢失问题,同时,对磁盘进行快照备份。
执行kubectl scale deployment nginx --replicas 0 修改运行的副本数量为0
pod停止后,对应pvc使用的云盘也会从node上进行解绑掉
需手动对其进行挂载到node上
挂载后,执行fdisk -l 看下磁盘情况,以显示20G,需进行扩容分区大小
执行命令 lsblk /dev/vde
查看当前文件系统是否已增加分区表
e2fsck -f /dev/vdb 强制检查文件系统的正确性
resize2fs /dev/vdb 调整分区大小
调整完成后,云盘控制台 卸载云盘,启动pod,自动挂载pvc
执行:kubectl exec nginx-5c4ff48bb4-pxpbx -- df -h 检查大小是否已修改
可执行stat 检查扩容期间对应文件是否修改
至此,对应pvc扩容完成,相应磁盘空间已增加,相应数据完整。
总结:
1.PVC不支持在线扩容, kubernets默认volume没有这种机制。
2.若要进行扩容操作,需要先停止pod,再通过resize2fs扩容cbs云硬盘。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。