文档首页/ 云容器引擎 CCE/ 常见问题/ 存储管理/ 如何扩容容器的存储空间?
更新时间:2024-09-04 GMT+08:00

如何扩容容器的存储空间?

使用场景

容器默认大小为10G,当容器中产生数据较多时,容易导致容器存储空间不足,可以通过此方法来扩容。

解决方案

  1. 登录CCE控制台,单击集群列表中的集群名称。
  2. 在左侧导航栏中选择“节点管理”
  3. 切换至“节点”页签,选择集群中的节点,单击操作列中的“更多 > 重置节点”。

    重置节点操作可能导致与节点有绑定关系的资源(本地存储,指定调度节点的负载等)无法正常使用。请谨慎操作,避免对运行中的业务造成影响。

  4. 重新配置节点参数。

    如需对容器存储空间进行调整,请重点关注以下配置。

    存储配置:单击数据盘后方的“展开高级设置”可进行如下设置:

    Pod容器空间分配:即容器的basesize设置,每个工作负载下的容器组 Pod 占用的磁盘空间设置上限(包含容器镜像占用的空间)。合理的配置可避免容器组无节制使用磁盘空间导致业务异常。建议此值不超过容器引擎空间的 80%。该参数与节点操作系统和容器存储Rootfs相关,部分场景下不支持设置。

    更多关于容器存储空间分配的内容,请参考数据盘空间分配说明

  5. 重置节点后登录该节点,查看容器容量是否已扩容。容器存储Rootfs不同回显结果也不同,具体如下。

    • Overlayfs:没有单独划分thinpool,在dockersys空间下统一存储镜像相关数据。执行以下代码,查看容器容量是否扩容成功。

      docker exec -it container_id /bin/shkubectl 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/shkubectl 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
      ...