kubelet创建容器的流程分析
admin
2023-03-31 12:41:30
0

kubelet发起创建命令到真正创建容器并启动容器的过程

kubelet创建容器的流程分析


流程内容分析

  1. kubelet通过gRPC调用dockershim发起创建容器,CRI即容器运行时接口(container runtime interface),目前dockershim的代码内嵌在kubele中,所以接受创建容器的就是kubelet进程。

  2. dockershim把创建容器的命令转换成docker daemon可以识别的命令,之后发送给docker daemon创建容器。

  3. docker daemon在1.12版本之后就会把创建容器的命令分发给另一个进程: comtainerd。

  4. containerd收到创建容器的命令后,创建另一个进程:containerd-shim进程,由该进程执行具体的创建命令,containerd进程做为父进程存在。

  5. 创建容器的时候需要namespace隔离容器启动和创建需要的资源,cgroup限制容器可以使用资源的大小等操作,这些事情该怎么做已经有看公开的规范OCI(open container initivtive 开放容器标准),它的一个参考实现叫做runc。于是containerd--shim在这一步需要调用runc命令,来启动容器。

  6. runc启动容器之后就直接退出,containerd-shim则会成为容器进程的父进程,收集容器进程的状态,上报给contanierd,并在容器种pid为1的进程退出后接管容器中国的子进程进行清理,确保不会出现僵尸进程。




这其中有两个名词概念容易混淆

CRI:容器运行时接口 container runtime interface

其主要的作用:

1、针对容器操作的接口,包括容器的创建、启动和停止等

2、针对镜像的操作,拉去、删除镜像等

3、针对podsandbox(容器沙箱环境)


OCI:开放容器标准 open container initiative

主要作用,制作容器

  1. 容器镜像制作内容,即imagespec

  2. 容器需要接收哪些指令,即runtimespec


相关内容

热门资讯

今日重大通报“方片十三张辅助器... 您好:方片十三张这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款游...
重磅消息“天天斗地主开挂神器?... 您好:天天斗地主这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款游...
玩家分享攻略“微乐卡五星有没有... 有 亲,根据资深记者爆料微乐卡五星是可以开挂的,确实有挂(咨询软件无需打...
重磅消息“打哈儿麻将真的有挂吗... 您好:打哈儿麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款游...
玩家分享攻略“同城游贵阳捉鸡麻... 家人们!今天小编来为大家解答同城游贵阳捉鸡麻将透视挂怎么安装这个问题咨询软件客服徽4282891的挂...
今日重大发现“新卡农牛牛真的有... 有 亲,根据资深记者爆料新卡农牛牛是可以开挂的,确实有挂(咨询软件无需打...
重磅消息“道游联盟牛牛有没有挂... 网上科普关于“道游联盟牛牛有没有挂”话题很是火热,小编也是针对道游联盟牛牛作*弊开挂的方法以及开挂对...
玩家攻略科普“钱柜手游有挂吗?... 有 亲,根据资深记者爆料钱柜手游是可以开挂的,确实有挂(咨询软件无需打开...
今日重大发现“新超圣牛牛怎么装... 您好:新超圣牛牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款游...
玩家分享攻略“推大石究竟有挂吗... 玩家分享攻略“推大石究竟有挂吗?”(果然有透视挂)您好,推大石这个游戏其实有挂的,确实是有挂的,需要...