操作场景
CCE支持在创建工作负载时为添加的容器设置资源限制。可以对工作负载中每个实例所用的CPU配额、内存配额进行申请和限制。
配置含义
在CPU配额和内存配额设置中,申请与限制的含义如下:
- 申请:根据申请值调度该实例到满足条件的节点去部署工作负载。
- 限制:根据限制值限制工作负载使用的资源。
说明创建工作负载时,建议设置CPU和内存的资源上下限。同一个节点上部署的工作负载,对于未设置资源上下限的工作负载,如果其异常资源泄露会导致其它工作负载分配不到资源而异常。未设置资源上下限的工作负载,工作负载监控信息也会不准确。
配置说明
在实际生产业务中,建议申请和限制比例为1:1.5左右,对于一些敏感业务建议设置成1:1。如果申请值过小而限制值过大,容易导致节点超分严重。如果遇到业务高峰或流量高峰,容易把节点内存或者CPU耗尽,导致节点不可用的情况发生。
CPU配额:
表 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的资源可供下一个新增的实例使用。