从零开始入门 K8s | 调度器的调度流程和算法介绍(15)

把 Pod 分到资源空闲率最高的节点上 , 而非空闲资源最大的节点 , 公式:资源空闲率=(Allocatable - Request) / Allocatable , 当这个值越大 , 表示分数越高 , 优先分配到高分数的节点 。 其中(Allocatable - Request)表示为Pod分配到这个节点之后空闲的资源数 。

  • 优先堆叠

把 Pod 分配到资源使用率最高的节点上 , 公式:资源使用率 = Request / Allocatable  , 资源使用率越高 , 表示得分越高 , 会优先分配到高分数的节点 。

  • 碎片率

是指 Node 上的多种资源之间的资源使用率的差值 , 目前支持 CPU/Mem/Disk 三类资源 假如仅考虑 CPU/Mem , 那么碎片率的公式 = Abs[CPU(Request / Allocatable) - Mem(Request / Allocatable)
。 举一个例子 , 当 CPU 的分配率是 99% , 内存的分配率是 50% , 那么碎片率 = 99% - 50% = 50% , 那么这个例子中剩余 1% CPU 50% Mem , 很难有这类规格的容器能用完 Mem 。 得分 = 1 - 碎片率 , 碎片率越高得分低 。

推荐阅读