更新时间:2024-01-26 GMT+08:00

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

使用场景

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

解决方案

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

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

  4. 在确认页面中单击“是”
  5. 重新配置节点参数。

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

    存储配置:单击数据盘后方的“展开高级设置”可进行如下设置:
    • 自定义容器引擎空间大小:容器引擎占用的存储空间,默认为数据盘空间的90%,用于存放容器引擎 (Docker/Containerd) 工作目录、容器镜像的数据和镜像元数据。
    • 自定义容器Pod空间大小:CCE 支持对每个工作负载下的容器组 Pod 占用的磁盘空间设置上限(包含容器镜像占用的空间)。合理的配置可避免容器组无节制使用磁盘空间导致业务异常。建议此值不超过容器引擎空间的 80%。
      • 自定义容器Pod存储空间的能力与节点操作系统与容器存储Rootfs有关,设置规则如下:
        • 容器存储Rootfs使用DeviceMapper时,节点支持自定义容器Pod空间设置(basesize),单个容器存储空间大小默认为10GiB,可以配置为其他值。
        • 容器存储Rootfs使用OverlayFS时,大部分节点不支持自定义容器Pod空间设置(basesize),默认为不限制,即单个容器存储空间大小默认为容器引擎空间。

          仅1.19.16版本、1.21.3版本、1.23.3版本及之后版本集群中的EulerOS 2.9系统节点支持自定义容器Pod空间设置(basesize),可以配置为其他值。

      • 使用EulerOS 2.9 的docker basesize设置时,若容器配置CAP_SYS_RESOURCE权限或privileged的特权,basesize限制单容器数据空间不起作用。

  6. 重置节点后登录该节点,执行如下命令进入容器,查看docker容器容量是否已扩容。

    docker exec -it container_id /bin/shkubectl exec -it container_id /bin/sh

    df -h