7.7.3 调度器与扩展设计 如果集群只有几十个节点,为新创建的 Pod 找到最合适的节点并不困难,但当节点规模达到几千台甚至更多时,问题就变得复杂了: 首先,Pod 的创建/更新和节点资源无时无刻不在发生变化,如果每次调度都需要数千次远程请求获取相关信息,势必因耗时过长,导致调度失败率过高。 另一方面,调度器频繁的网络请求极容易使其成为集群的性能瓶颈。 为了充分利用硬件资源,通常会将各种类型(CPU 密集、IO 密集、批量处理、低延迟作业)的 workloads 运行在同一台机器上,这种方式减少了硬件上的投入,但也使调度问题更加复杂。 随着集群规模的增大,需要调度的任务的规模也线性增大,由于调度器的工作负载与集群大小大致成比例,调度器有成为可伸缩性瓶颈的风险。