超售比
目录
理解命名空间资源超售比
允许您为每个命名空间设置资源超售比(CPU 和内存)。这管理了该命名空间内容器限制(最大使用量)和请求(保证的最小值)之间的关系,从而优化资源利用率。
通过配置此比率,您可以确保用户定义的容器限制和请求保持在合理范围内,提高整体集群资源效率。
关键概念
- 限制:容器可以使用的最大资源。超出限制可能导致限流(CPU)或终止(内存)。
- 请求:容器所需的保证最小资源。Kubernetes 根据这些请求调度容器。
- 超售比:限制 / 请求。此设置定义了命名空间内该比率的可接受范围,平衡资源保证并防止过度消耗。
核心能力
- 通过设置适当的超售比来增强命名空间内的资源密度和应用稳定性,以管理资源限制和请求之间的平衡。
示例
假设命名空间超售比设置为 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。
- 留空以禁用命名空间的超售。
|
- 点击 更新。
注意:更改仅适用于新创建的 Pods。现有 Pods 保留其原始请求,直到重建。