Kubernetes 的 kube-scheduler 是集群的默认调度器,它的核心职责是:为一个新创建的 Pod(尚未分配节点)在集群中寻找一个最合适的 Node。 整个调度流程可以概括为三个核心步骤:过滤 (Filtering) -> 打分 (Scoring) -> 绑定 (Binding)。 以下是详细的调度流程解析: --- 1. 整体架构概览 现代的 kube-scheduler 基于 Scheduling Framework(调度框架) 构建。调度过程分为两个大的周期: 1. 调度周期 (Scheduling Cycle):在内存中进行,为 Pod 选择节点。这是同步过程,一次只能处理一个 Pod。 2. 绑定周期 (Binding Cycle):将 Pod 与节点绑定。这是异步过程。 --- 2. 详细调度步骤 第一步:监听与入队 (Watch & Queue) 监听 (Informer):Scheduler 通过 API Server 的 Watch 机制,持续监听 为空的 Pod。 优先级队列 (Scheduling Queue): 新发现的 Pod 会被放入内...