更新时间:2024-03-04 GMT+08:00
分享

设置容器规格

操作场景

在创建工作负载时为添加的容器设置资源限制,可以对工作负载中每个实例所用的CPU配额、内存配额进行申请和限制。

配置含义

CPU配额内存配额设置中,申请值与限制值的含义如下:

  • 申请值用于预分配资源,当集群中的节点没有申请值所要求的资源数量时,容器会创建失败。
  • 限制值用于设置容器使用资源的最大上限,避免异常情况下节点资源消耗过多,避免极端场景下因节点资源耗尽导致已运行的容器业务被驱逐。

创建工作负载时,建议设置CPU和内存的资源上下限。同一个节点上部署的工作负载,对于未设置资源上下限的工作负载,如果其异常资源泄露会导致其它工作负载分配不到资源而异常。未设置资源上下限的工作负载,工作负载监控信息也会不准确。

配置说明

  • CPU配额:
    表1 CPU配额说明

    参数

    说明

    CPU申请

    容器使用的最小CPU需求,作为容器调度时资源分配的判断依赖。只有当节点上可分配CPU总量 ≥ 容器CPU申请数时,才允许将容器调度到该节点。

    CPU限制

    容器能使用的CPU最大值。

    建议配置方法

    节点的实际可用分配CPU量 ≥ 当前实例所有容器CPU限制值之和 ≥ 当前实例所有容器CPU申请值之和,节点的实际可用分配CPU量请在资源管理 > 节点管理中对应节点的“可分配资源”列下查看“CPU: ** Core”

  • 内存配额:
    表2 内存配额说明

    参数

    说明

    内存申请

    容器使用的最小内存需求,作为容器调度时资源分配的判断依赖。只有当节点上可分配内存总量 ≥ 容器内存申请数时,才允许将容器调度到该节点。

    内存限制

    容器能使用的内存最大值。当内存使用率超出设置的内存限制值时,该实例可能会被重启进而影响工作负载的正常使用。

    建议配置方法

    节点的实际可用分配内存量 ≥ 当前节点所有容器内存限制值之和 ≥ 当前节点所有容器内存申请值之和,节点的实际可用分配内存量请在资源管理 > 节点管理中对应节点的“可分配资源”列下查看“内存: ** GiB”

可分配资源:可分配量按照实例请求值(request)计算,表示实例在该节点上可请求的资源上限,不代表节点实际可用资源。 计算公式为:

  • 可分配CPU = CPU总量 - 所有实例的CPU请求值 - 其他资源CPU预留值
  • 可分配内存 = 内存总量 - 所有实例的内存请求值 - 其他资源内存预留值

使用示例

以集群包含一个资源为4Core 8GB的节点为例,已经部署一个包含两个实例的工作负载到该集群上,并设置两个实例(实例1,实例2)的资源为{CPU申请,CPU限制,内存申请,内存限制}={1Core,2Core,2GB,2GB}。

那么节点上CPU和内存的资源使用情况如下:

  • 节点CPU可分配量=4Core-(实例1申请的1Core+实例2申请的1Core)=2Core
  • 节点内存可分配量=8GB-(实例1申请的2GB+实例2申请的2GB)=4GB

因此节点还剩余2Core 4GB的资源可供下一个新增的实例使用。

相关文档