Overcommit Ratio
目录
理解命名空间资源超售比
允许您为每个命名空间设置资源超售比(CPU 和内存)。这管理了该命名空间内容器的限制(最大使用量)与请求(保证的最小值)之间的关系,从而优化资源利用率。
通过配置该比率,您可以确保用户定义的容器限制和请求保持在合理范围内,提高整体集群资源效率。
关键概念
- Limits:容器可使用的最大资源。超过限制可能导致 CPU 限流或内存终止。
- Requests:容器所需的保证最小资源。Kubernetes 根据这些请求调度容器。
- Overcommit Ratio:限制 / 请求。此设置定义了命名空间内该比率的可接受范围,平衡资源保障与防止过度消耗。
核心能力
- 通过设置合适的超售比,提升命名空间内资源密度和应用稳定性,管理资源限制与请求之间的平衡。
示例
假设命名空间超售比设置为 2,创建应用时指定 CPU 限制为 4c,则对应的 CPU 请求值计算为:
CPU 请求 = CPU 限制 / 超售比。因此,CPU 请求为 4c / 2 = 2c。
CRD 定义
# example-namespace-overcommit.yaml
apiVersion: resource.alauda.io/v1
kind: NamespaceResourceRatio
metadata:
namespace: example
name: example-namespace-overcommit
spec:
cpu: 3 # 缺失该字段表示继承集群超售比;0 表示不限制。
memory: 4 # 缺失该字段表示继承集群超售比;0 表示不限制。
status:
clusterCPU: 2 # 集群超售比
clusterMemory: 3
使用 CLI 创建超售比
kubectl apply -f example-namespace-overcommit.yaml
使用 Web 控制台创建/更新超售比
允许调整命名空间的超售比,管理资源限制与请求之间的比例,确保容器资源分配保持在定义范围内,提高集群资源利用率。
注意事项
如果集群使用节点虚拟化(如虚拟节点),请在为虚拟机配置之前先在集群/命名空间层面禁用超售。
操作步骤
-
进入项目管理,导航至命名空间 > 命名空间列表。
-
点击目标命名空间名称。
-
点击操作 > 更新超售比。
-
选择合适的超售比配置方式,为命名空间设置 CPU 或内存超售比。
参数 | 说明 |
---|
继承集群配置 | - 命名空间继承集群的超售比。
- 示例:若集群 CPU/内存比为 4,则命名空间默认为 4。
- 容器请求 = 限制 / 集群比率。
- 若未设置限制,则使用命名空间默认容器配额。
|
自定义 | - 设置命名空间专属比率(整数且大于 1)。
- 示例:集群比率为 4,命名空间比率为 2 → 请求 = 限制 / 2。
- 留空表示禁用该命名空间的超售。
|
- 点击更新。
注意:更改仅对新创建的 Pod 生效,已有 Pod 保持原有请求,直至重建。