调度程序如何与API服务器对话?

时间:2019-06-19 22:14:36

标签: kubernetes

我想知道kubernetes中代码的哪一部分( https://github.com/kubernetes/kubernetes),调度程序与API服务器进行对话,然后API服务器将调度信息发送到kubelet?​​

1 个答案:

答案 0 :(得分:2)

计划程序注册一个通知程序以指定资源(例如pod,PV ...),向事件注册一些回调函数(例如添加,删除,更新...),这些代码位于https://github.com/kubernetes/kubernetes/blob/master/pkg/scheduler/eventhandlers.go#L319

然后,事件回调会将Pod规范放入queue中,调度程序将检查队列,并添加一些algorithm以将Pod调度到某个节点。最后,调度程序会将pod信息更新到apiserver。

Kubelet将检查apiserver以查找需要更新的Pod,然后创建容器,绑定卷...

p.s。要了解有关kubernetes如何工作的整个生命周期是很复杂的,请提供您想确切了解的内容。