代码语言:javascript复制
你也许还记得,调度器首先会对节点列表进行过滤, 排除那些不满足需求的节点, 然后根据预先配置的优先级函数对其余节点进行排序 。
其中有两个基于资源请求量的优先级排序函数: LeastRequestedPriority和MostRequestedPriority。
前者优先将pod调度到请求量少的节点上(也就是拥有更多未分配资源的节点), 而后者相反,优先调度到请求量多的节点(拥有更少未分配资源的节点)。但是正如我们刚刚解释的,它们都只考虑资源请求量,而不关注实际使用资源量。
代码语言:javascript复制调度器只能配置一种优先级函数。 你可能在想为什么有人会使用MostRequestedPriority函数。 毕竟如果你有一组节点,通常会使其负载平均分布,但是在随时可以增加或删除节点的云基础设施上运行时并非如此。 配置调度器使用MostRequestedPriority函数,可以在为每个pod提供足量CPU/内存资源的同时,确保Kubemetes使用尽可能少的节点。通过使pod紧凑地编排,一些节点可以保待空闲并可随时从集群中移除。由于通常会按照单个节点付费,这样便可以节省一笔开销。