操作场景
CCE支持在创建工作负载时为添加的容器设置资源限制。可以对工作负载中每个实例所用的CPU配额、内存配额进行申请和限制。
配置含义
在CPU配额和内存配额设置中,申请与限制的含义如下:
- 勾选“申请”表示启动该配置,系统根据申请值调度该实例到满足条件的节点去部署工作负载。
- 不勾选“申请”表示系统调度实例到随机的一个节点去部署工作负载。
- 勾选“限制”表示启动该配置,根据设定的值,限制工作负载使用的资源。
- 不勾选“限制”表示实例使用的资源不做限制,但若实例使用的内存资源超过节点可分配内存时,可能会导致工作负载不可用或者节点不可用。
说明:
创建工作负载时,建议设置CPU和内存的资源上下限。同一个节点上部署的工作负载,对于未设置资源上下限的工作负载,如果其异常资源泄露会导致其它工作负载分配不到资源而异常。未设置资源上下限的工作负载,工作负载监控信息也会不准确。
在GPU配额设置中,使用与不限制的含义如下:
- 勾选“使用”表示启动该配置,系统根据设定的值调度该实例到满足条件的节点去部署工作负载。
- “不限制”默认选中,不可取消。表示该项对实例使用的资源不做限制。
配置说明
- CPU配额:
参数 | 说明 |
CPU申请 | 容器使用的最小CPU需求,作为容器调度时资源分配的判断依赖。只有当节点上可分配CPU总量 ≥ 容器CPU申请数时,才允许将容器调度到该节点。 |
CPU限制 | 容器能使用的CPU最大值。 |
建议配置方法:
节点的实际可用分配CPU量 ≥ 当前实例所有容器CPU限制值之和 ≥ 当前实例所有容器CPU申请值之和,节点的实际可用分配CPU量请在“资源管理 > 节点管理”中对应节点的“可分配资源”列下查看“CPU: ** Core”。
内存配额:
参数 | 说明 |
内存申请 | 容器使用的最小内存需求,作为容器调度时资源分配的判断依赖。只有当节点上可分配内存总量 ≥ 容器内存申请数时,才允许将容器调度到该节点。 |
内存限制 | 容器能使用的内存最大值。当内存使用率超出设置的内存限制值时,该实例可能会被重启进而影响工作负载的正常使用。 |
建议配置方法:
节点的实际可用分配内存量 ≥ 当前节点所有容器内存限制值之和 ≥ 当前节点所有容器内存申请值之和,节点的实际可用分配内存量请在“资源管理 > 节点管理”中对应节点的“可分配资源”列下查看“内存: ** 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的资源可供下一个新增的实例使用。