节点预留资源计算公式 节点的部分资源需要运行一些必要的Kubernetes系统组件和Kubernetes系统资源,使该节点可作为您的集群的一部分。因此,您的节点资源总量与节点在Kubernetes中的可分配资源之间会存在差异。节点的规格越大,在节点上部署的容器可能会越多,所以kubernetes自身需预留更多的资源。 为了保证节点的稳定性,CCE集群节点上会根据节点的规格预留一部分资源给Kubernetes的相关组件(kubelet,kubeproxy以及docker等)。 CCE对用户节点可分配的资源计算法则如下: Allocatable Capacity Reserved Eviction Threshold 即,节点上可配置值总量预留值驱逐阈值。 CCE对节点内存的预留规则 memreservedtotal reservedvalueforsystem + reservedvalueforpods reservedvalueforsystem: − totalmem 128GB, reservedvalueforsystem ( 8GB102410% + 112GB10246% + (totalmem – 128GB)10242% )MB reservedvalueforpods: totalmem 2GB: − 0 128, reservedvalueforpods ( 1740 + (pods 128)11.20 )MB 其中: “totalmem”为内存总量。 “pods”为节点的最大实例数。 “memreservedtotal”为总预留值。 “reservedvalueforsystem”为系统组件预留值。 “reservedvalueforpods”为Kubelet管理Pod所需预留值。 须知: 对于小规格节点,需根据实际使用情况调整节点的最大实例数。或者在CCE控制台创建节点时,需考虑根据节点规格自适应调整节点的最大实例数参数。 CCE对节点CPU的预留规则 totalcpu 4core, reservedvalue 1core6% + 1core1% + 2core0.5% + (totalcpu– 4core)0.25% 其中: “totalcpu”为CPU总量。 “reservedvalue”为预留值。 CCE对节点预留了额外的100Mi给kubelet驱逐所用。