集群资源预留

最近更新时间:2020-10-21 15:38:56

节点作为集群的一部分需要运行必需的Kubernetes和KCE的系统组件。因此您的节点资源总量(capacity)与节点所在的KCE中的可分配资源数量(allocatable)之间存在差异。

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

用户集群节点资源预留的计算规则为:

Allocatable = Capacity - Reserved - Eviction Threshold

其中,

Allocatable :节点上可分配给pod的资源

Capacity :Node的硬件资源总量

Reserved :节点上预留给系统组件的资源

Eviction-threshold:节点的驱逐阈值

  • KCE对节点内存的预留规则

    1、total_mem <= 4GB,reserved_value= total_mem*25%

    2、4GB < total_mem <= 8GB, reserved_value= 4GB*25% + (total_mem – 4GB)*20%

    3、8GB < total_mem < =16GB, reserved_value= 4GB*25% + 4GB*20% + (total_mem – 8GB)*10%

    4、16GB < total_mem < =128GB, reserved_value= 4GB*25% + 4GB*20% + 8GB*10% + (total_mem – 16GB)*6%

    5、total_mem > 128GB, eserved_value= 4GB*25% + 4GB*20% + 8GB*10% + 112GB*6% +(total_mem – 128GB)*2%

    其中,“total_mem”为内存总量量,“reserved_value”预留值

  • KCE对节点CPU的预留规则

    1、total_cpu <= 1core,reserved_value= total_cpu *6%

    2、1core < total_cpu <= 2core, reserved_value= 1core*6% + (total_cpu– 1core)*1 %

    3、2core < total_cpu <= 4core, reserved_value= 1core*6% + 1core*1% + (total_cpu– 2core)*0.5%

    4、total_cpu > 4core, reserved_value= 1core*6% + 1core*1% + 2core*0.5% + (total_cpu– 4core)*0.25%

    其中,“total_cpu”为CPU总量,“reserved_value”预留值。

  • 另外,KCE对每个节点预留了额外的100Mi给kubelet驱逐所用

常见配置的资源预留列表如下:

CPU

节点总量/单位:核 2 4 8 16 32
节点预留量/单位:核 0.07 0.08 0.09 0.11 0.15

Memory

节点总量/单位:Gib 4 8 16 32 64
节点预留量/单位:Mib 1024 1843 2662 3645 5611

金山云,开启您的云计算之旅

免费注册