参考视频:https://ke.qq.com/user/index/index.html#/plan/cid=1709963&term_id=102815140
一、流程图
二、具体过程
0.kubectl apply -f pod.yaml
1.kubectl将yaml文件转换为json,提交给apiserver,apiserver将数据存储到etcd中
2.scheduler通过list watch机制监听到创建新Pod的事件,根据Pod属性调度到Node上,同时给Pod打标签指明调度到具体哪个节点,可以通过kubectl get pod -owide
查看
3.apiserver拿到调度结果并写入到etcd中
4.kubelet从apiserver获取分配到其所在节点的Pod
5.kubelet调用Docker的/var/run/docker.sock创建容器
6.Docker根据kubelet需求创建容器并把容器的状态汇报给kubelet
7.kubelet将Pod状态更新到apiserver
8.apiserver将状态信息写到etcd中
9.kubectl get pod
三、Pod事件
从事件可以看到首先会把Pod调度到Node,其次拉取镜像,最后创建并启动容器