更新时间:2024-09-04 GMT+08:00
如何扩容容器的存储空间?
使用场景
容器默认大小为10G,当容器中产生数据较多时,容易导致容器存储空间不足,可以通过此方法来扩容。
解决方案
- 登录CCE控制台,单击集群列表中的集群名称。
- 在左侧导航栏中选择“节点管理”。
- 切换至“节点”页签,选择集群中的节点,单击操作列中的“更多 > 重置节点”。
重置节点操作可能导致与节点有绑定关系的资源(本地存储,指定调度节点的负载等)无法正常使用。请谨慎操作,避免对运行中的业务造成影响。
- 重新配置节点参数。
如需对容器存储空间进行调整,请重点关注以下配置。
存储配置:单击数据盘后方的“展开高级设置”可进行如下设置:
Pod容器空间分配:即容器的basesize设置,每个工作负载下的容器组 Pod 占用的磁盘空间设置上限(包含容器镜像占用的空间)。合理的配置可避免容器组无节制使用磁盘空间导致业务异常。建议此值不超过容器引擎空间的 80%。该参数与节点操作系统和容器存储Rootfs相关,部分场景下不支持设置。
更多关于容器存储空间分配的内容,请参考数据盘空间分配说明。
- 重置节点后登录该节点,查看容器容量是否已扩容。容器存储Rootfs不同回显结果也不同,具体如下。
- Overlayfs:没有单独划分thinpool,在dockersys空间下统一存储镜像相关数据。执行以下代码,查看容器容量是否扩容成功。
docker exec -it container_id /bin/sh或kubectl exec -it container_id /bin/sh
df -h
回显如下,可以看到overlay容量从10G扩容到15G,说明扩容成功。
Filesystem Size Used Avail Use% Mounted on overlay 15G 104K 15G 1% / tmpfs 64M 0 64M 0% /dev tmpfs 3.6G 0 3.6G 0% /sys/fs/cgroup /dev/mapper/vgpaas-share 98G 4.0G 89G 5% /etc/hosts ...
- Devicemapper:单独划分了thinpool存储镜像相关数据。执行以下代码,查看容器容量是否扩容成功。
docker exec -it container_id /bin/sh或kubectl exec -it container_id /bin/sh
df -h
回显如下,可以看到thinpool容量从10G扩容到15G,说明扩容成功。
Filesystem Size Used Avail Use% Mounted on /dev/mapper/vgpaas-thinpool-snap-84 15G 232M 15G 2% / tmpfs 64M 0 64M 0% /dev tmpfs 3.6G 0 3.6G 0% /sys/fs/cgroup /dev/mapper/vgpaas-kubernetes 11G 41M 11G 1% /etc/hosts /dev/mapper/vgpaas-dockersys 20G 1.1G 18G 6% /etc/hostname ...
- Overlayfs:没有单独划分thinpool,在dockersys空间下统一存储镜像相关数据。执行以下代码,查看容器容量是否扩容成功。