文档首页 > > 用户指南> 节点管理>

节点预留资源计算公式

节点预留资源计算公式

分享
更新时间:2021/04/30 GMT+08:00

节点的部分资源需要运行一些必要的Kubernetes系统组件和Kubernetes系统资源,使该节点可作为您的集群的一部分。 因此,您的节点资源总量与节点在Kubernetes中的可分配资源之间会存在差异。节点的规格越大,在节点上部署的容器可能会越多,所以kubernetes自身需预留更多的资源。

为了保证节点的稳定性,CCE集群节点上会根据节点的规格预留一部分资源给Kubernetes的相关组件(kubelet,kube-proxy以及docker等)。

CCE对用户节点可分配的资源计算法则如下:

Allocatable = Capacity - Reserved - Eviction Threshold

即,节点资源可分配量=总量-预留值-驱逐阈值

kubernetes中的eviction机制和驱逐阈值的相关说明,请参见工作负载异常:实例驱逐异常(Evicted)

CCE对节点内存的预留规则

CCE节点内存的总预留值等于系统组件预留值Kubelet管理Pod所需预留值之和。

公式为:总预留值 = 系统组件预留值 + Kubelet管理Pod所需预留值

表1 系统组件预留规则

内存总量范围

系统组件预留值

内存总量 <= 8GB

0MB

8GB < 内存总量 <= 16GB

( (内存总量 – 8GB)*1024*10% )MB

16GB < 内存总量 <= 128GB

( 8GB*1024*10% + (内存总量 – 16GB)*1024*6% )MB

内存总量 > 128GB

( 8GB*1024*10% + 112GB*1024*6% + (内存总量 – 128GB)*1024*2% )MB

表2 Kubelet管理Pod所需预留规则

内存总量范围

Pod数量

Kubelet管理Pod所需预留值

内存总量 <= 2GB

-

内存总量 *25%

内存总量 > 2GB

0 < 节点的最大实例数 <= 16

700 MB

16 < 节点的最大实例数 <= 32

( 700 + (节点的最大实例数 - 16)*18.75 )MB

32 < 节点的最大实例数 <= 64

( 1024 + (节点的最大实例数 - 32)*6.25 )MB

64 < 节点的最大实例数 <= 128

( 1230 + (节点的最大实例数 - 64)*7.80 )MB

节点的最大实例数 > 128

( 1740 + (节点的最大实例数 - 128)*11.20 )MB

对于小规格节点,需根据实际使用情况调整节点的最大实例数。或者在CCE控制台创建节点时,需考虑根据节点规格自适应调整节点的最大实例数参数。

CCE对节点CPU的预留规则

表3 节点CPU预留规则

CPU总量范围

CPU预留值

CPU总量 <= 1core

CPU总量 *6%

1core < CPU总量 <= 2core

1core*6% + (CPU总量– 1core)*1 %

2core < CPU总量 <= 4core

1core*6% + 1core*1% + (CPU总量– 2core)*0.5%

CPU总量 > 4core

1core*6% + 1core*1% + 2core*0.5% + (CPU总量– 4core)*0.25%

CCE对节点预留了额外的100Mi给kubelet驱逐所用。

分享:

    相关文档

    相关产品