Scheduler与API Server进行通信,然后由Scheduler与Node节点中的Kubelet进行通信。
当Pod需要调度到某个Node节点上时,Scheduler会与API Server进行通信,通过API Server的Watch接口监听到新建Pod副本的信息。然后,Scheduler会检索所有符合该Pod要求的Node列表,开始执行Pod调度逻辑。
一旦调度成功,Scheduler会通知API Server更新Pod的绑定信息。API Server将新的Pod状态写入etcd,然后相关的Node节点上的Kubelet会通过API Server的Watch接口监听到Pod状态的改变。
Kubelet会与API Server通信以获取Pod的配置信息,并在该节点上启动和停止Pod。因此,Scheduler确实起到了中间协调的作用,它与API Server通信以接收Pod的调度指令,并随后与Node节点上的Kubelet通信以执行具体的调度操作。
这种设计使得Kubernetes能够实现灵活的、自动化的资源调度和管理,以满足不同工作负载的需求