K8S启动pod的流程

在这里插入图片描述
例如:

kubectl create deployment k8s-nginx  --image=nginx  -r 3

创建一个pod的流程

  1. 客户端使用命令行或者yaml文件启动pod,提交配置信息到kube-apiserver

  2. API server收到指令后,通知controller-manager创建一个资源对象

  3. controller-manager通过api-server将pod的配置信息存储到etcd数据中心

  4. kube-scheduler检测到pod信息会开始调度预选,会先过滤掉不符合pod资源配置要求节点,然后开始调优调度,挑选出更适合pod运行的node,然后将pod的资源配置信息发送给apiserver,apiserver将绑定的node信息写入etcd

  5. apiserver又调用kubelet,kubelet获取相应的pod信息,创建容器,kubeproxy会给pod分配网络资源,例如ip,相应网络配置,将pod网络和k8s网络连通。

  6. 创建完成后kubelet又将pod的状态信息返回给apiserver,apiserver又将pod的信息状态写入etcd

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐