码迷,mamicode.com
首页 > 其他好文 > 详细

k8s pod创建流程

时间:2020-11-18 13:11:17      阅读:8      评论:0      收藏:0      [点我收藏+]

标签:mis   watch   命令   car   定义   run   解析   inf   ima   

1.1 kubelet client 端执行kubelet create pod命令提交post kubelet apiserver请求

1.2 apiserver 监听接受到请求
1.2.1 对请求进行、解析、认证、授权、超时处理、审计通过
1.2.2 pod请求事件进入MUX和route流程,apiserver会根据请求匹配对应pod类型的定义,apiserver会进行一个convert工作,将请求内容转换成super version对象
1.2.3 apiserver会先进行admission() 准入控制,比如添加标签,添加sidecar容器等和校验个字段合法性
1.2.4 apiserver将验证通过的api对象转换成用户最初提交的版本,进行序列化操作,并调用etcd api保存apiserver处理pod事件信息,apiserver把pod对象add到调度队列中

1.3.1schedule调度器会通过监听apiserver add到pod对象队列,
1.3.2调度器开始尝试调度,筛选出适合调度的节点,并打分选出一个最高分的节点
1.3.3 调度器会将pod对象与node绑定,调度器将信息同步apiserver保存到etcd中完成调度

1.4.1 节点kubelet通过watch监听机制,监听与自己相关的pod对象,kubelet会把相关pod信息podcache缓存到节点内存
1.4.2 kubelet通过检查该pod对象在kubelet内存状态,kubelet就能够判断出是一个新调度pod对象
1.4.3 kubelet会启动 pod update worker、单独goroutine处理pod对象生成对应的pod status,检查pod所生命的volume、网络是否准备好
1.4.4 kubelet调用docker api 容器运行时CRI,发起插件pod所定义容器Container Runtime Interface, CRI
请求
1.4.5 docker 容器运行时比如docker响应请求,然后开始创建对应容器
技术图片

k8s pod创建流程

标签:mis   watch   命令   car   定义   run   解析   inf   ima   

原文地址:https://blog.51cto.com/zjunzz/2549946

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!