k8s创建一个pod的工作流程

本文详细阐述了在k8s中创建Pod的工作流程,包括使用kubectl或yaml文件的方式,apiserver与etcd之间的交互,scheduler的调度机制,kubelet如何在选定节点上创建容器,以及controller-manager和kube-proxy的角色。还提到了影响调度策略的因素如nodename和nodeselector,并介绍了如何给节点打标签和查看标签。
摘要由CSDN通过智能技术生成

k8s创建一个pod的工作流程在这里插入图片描述1.创建pod有两种方式:kubectl&&yaml文件
当我们在k8s中创建一个pod时,
kubectl run -it bs --image=busybox sh
2.在创建pod时,实际上会将yaml文件或命令行以固定的json格式返回给kube-apiserver,apiserver会将这个请求产生的数据全部存放到etcd数据库当中,而etcd会响应一个状态给apiserver,那pod创建之后,开始进入调度阶段scheduler【k8s是基于listwatch监听api中触发的事件】,scheduler会根据自己的算法调度这个pod具体应该创建在哪一个几点上,为它打上一个标记,然后再向apiserver进行反馈,apiserver会再将请求产生的数据写入到etcd中;kubelet也是通过listwatch通过apiserver获取当前节点的pod信息,拿到之后,会调用kube-apiserver去创建容器,并将创建状态返回给etcd记录。
listwatch:观察者模式,是k8s中的一种消息传递方式。

3.完整流程
create pod-> apiserver -> etcd
scheduler -> apiserver -> etcd -> scheduler
kubelet -> apiserver -> 只拿分配到当前节点的pod信息->docker api创建容器->将创建结果返回给apiserver
以上环节其实是少了几个组件:con

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值