哪个Kubernetes组件创建了一个新的pod?

时间:2015-11-05 13:51:16

标签: docker kubernetes

我有一个问题需要了解kubernetes工作流程: 据我了解流程:

你有一个包含etcd,api-server,controller manager和scheduler的master。 你有节点包含pods(包含容器),kubelet和代理。

代理作为基本代理工作,使服务可以与其他节点通信。 当一个pod死掉时,控制器管理器会看到这个(它'读'复制控制器,它描述了通常有多少个pod)。

不清楚: 控制器管理器将通知API服务器(我对此不对)。 API服务器将告诉调度程序在pod的新位置搜索。 在调度程序找到一个好位置之后,API将通知kubelet创建一个新的pod。

我不确定最后一个场景?你能告诉我正确的过程是一个明确的方法吗? 哪个组件正在创建pod和容器?是kubelet吗?

1 个答案:

答案 0 :(得分:3)

所以这是实际创建pod并与docker守护进程对话的kubelet。如果您在群集中的节点(如非主人)上执行docker ps -a,则会看到您的pod中的容器正在运行。因此工作流运行kubectl命令,该命令进入API服务器,将其传递给控制器​​,说该命令是产生一个pod,控制器将其中继到API服务器,然后API服务器转到调度程序并告诉它产卵荚。然后告诉kubelet产生所述pod。

我建议阅读Kubernetes所依据的Borg论文,以便更详细地了解事情。 http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43438.pdf