You need to enable JavaScript to run this app.
文档中心
容器服务

容器服务

复制全文
下载 pdf
节点运维
节点预留资源策略
复制全文
下载 pdf
节点预留资源策略
节点作为集群的重要部分,需要运行 Kubernetes 系统组件和资源。为了运行这些必要组件和资源,容器服务(VKE)需要占用一定的节点资源,保证业务稳定性。因此,您的节点资源总量与集群中可分配资源之间会存在差异。节点的规格越大,在节点上部署的 Pod 数量越多,从而节点需要预留更多资源。​
策略说明​
为了保证节点的稳定性,VKE 会根据节点对应的云服务器(ECS)规格,在节点上预留内存、CPU、进程 ID(PID)资源给节点 kubelet 参数:kube-reserved、system-reserved,用于在节点上安装 Kubernetes 相关组件(kubelet、kube-proxy、containerd 等)。具体预留的资源量,请参见下文 节点 CPU 预留策略、节点内存预留策略、节点 PID 预留策略。​
节点 CPU 预留策略​
系统默认的预留策略如下​
​
策略序号​
CPU 总量​
系统默认预留资源​
1​
CPU 总量 <= 4 Core​
100 milliCore = 0.1 Core​
2​
4 Core < CPU 总量 <= 64 Core​
0.1 Core + (CPU 总量–4) Core * 2.5%​
3​
64 Core < CPU 总量 <= 128 Core​
0.1 Core + (64-4) Core * 2.5% + (CPU 总量–64) Core * 1.25%​
4​
CPU 总量 > 128 Core​
0.1 Core + (64-4) Core * 2.5% + (128-64) Core * 1.25% + (CPU 总量–128) Core * 0.5%​
​
以 ecs.g2i.28xlarge 规格的节点为例,该节点 CPU 为 112 Core,则匹配上述 CPU 预留策略中的 3 号策略,CPU 预留资源计算结果为:0.1 + (64-4) × 2.5% + (112-64) × 1.25% = 2.2 Core。该预留资源将会平分给kube-reserved和system-reserved参数,即kube-reserved和system-reserved参数下的 CPU 预留值分别为 1.1 Core。​
节点内存预留策略​
​
策略序号​
内存总量​
系统默认预留资源​
1​
内存总量 <= 4 GiB​
内存总量 * 25%​
2​
4 GiB < 内存总量 <= 8 GiB​
4 GiB * 25% + (内存总量 - 4) GiB * 20%​
3​
8 GiB < 内存总量 <= 16 GiB​
4 GiB * 25% + (8-4) GiB * 20% + (内存总量 - 8) GiB * 10%​
4​
16 GiB < 内存总量 <= 128 GiB​
4 GiB * 25% + (8-4) GiB * 20% + (16-8) GiB * 10% + (内存总量 - 16) GiB * 6%​
5​
内存总量 > 128 GiB​
4 GiB * 25% + (8-4) GiB * 20% + (16-8) GiB * 10% + (128-16) GiB * 6% + (内存总量 - 128) GiB * 2%​
​
以 ecs.g2i.28xlarge 规格的节点为例,该节点内存为 448 GiB,则匹配上述内存预留策略中的 5 号策略,内存预留资源计算结果为:4 × 25% + (8-4) × 20% + (16-8) × 10% + (128-16) × 6% + (448-128) × 2% = 15.72 GiB。该预留资源将会平分给kube-reserved和system-reserved参数,即kube-reserved和system-reserved参数下的内存预留值分别为 7.86 GiB。​
注意​
节点上的 Pod 实际可用的内存,除了减去kube-reserved和system-reserved参数中的内存预留值外,还需要减去eviction-hard参数指定的内存值。eviction-hard参数默认在内存小于 300 MiB 时会驱逐节点上的 Pod,因此相当于节点上有 300 MiB 内存资源无法被 Pod 使用。您可以更改eviction-hard参数指定的内存值,详细操作请参见 配置节点 kubelet 参数。​
继续以 ecs.g2i.28xlarge 规格的节点为例,该节点内存为 448 GiB,kube-reserved和system-reserved合计预留了 15.72 GiB,若您未自定义过eviction-hard参数, 即该参数默认预留 300 MiB 内存,那么 ecs.g2i.28xlarge 规格的节点上实际可以分配给 Pod 的内存 = 448 GiB - 15.72 GiB - 300 MiB ≈ 431.98 GiB​
节点 PID 预留策略​
​
预留资源​
预留值(个)​
kube-reserved​
1000​
system-reserved​
1000​
​
注意事项​
  • 若您通过 VKE 提供的自定义 kubelet 参数能力,在kube-reserved、system-reserved参数下指定了 CPU 或内存预留值,则 VKE 会根据您自定义的值预留资源。详细操作,请参见 配置节点 kubelet 参数。​
  • 节点预留资源策略仅适用于 Kubernetes v1.20.15-vke.4 版本及以上的集群。​
  • 节点预留资源策略对新扩容的节点自动生效,无需手动配置。​
  • 因为节点预留资源策略的计算方式可能会造成节点的可分配资源变少,对于资源水位较高的节点,可能会触发节点压力驱逐,所以出于稳定性考虑,节点预留资源策略不会对已有节点自动生效。若需要对存量节点生效,您可以手动配置,详细操作,请参见 存量节点参数同步。​
最近更新时间:2026.02.12 20:22:01
这个页面对您有帮助吗?
有用
有用
无用
无用