Pod创建流程详解

Pod的创建,删除,修改流程:

  1.执行kubectl命令时会加载"~/.kube/config",从而识别到apiserver的地址,端口及认证证书;
  2.apiserver进行证书认证,鉴权,语法检查,若成功则可以进行数据的读取或者写入;
  3.若用户是写入操作(创建,修改,删除)则需要修改etcd数据库的信息;
  4.如果创建Pod,此时scheduler负责Pod调度,将Pod调度到合适的worker节点,并将结果返回给ApiServer,由apiServer负责存储到etcd中;
  5.kubelet组件会周期性上报给apiServer节点,包括Pod内的容器资源(cpu,memory,disk,gpu,...)及worker宿主机节点状态,apiServer并将结果存储到etcd中,若有该节点的任务也会直接返回给该节点进行调度;
  6.kubelet开始调用CRI接口创建容器(依次创建pause,initContainers,containers);
  7.在运行过程中,若Pod容器,正常或者异常退出时,kubelet会根据重启策略是否重启容器(Never,Always,OnFailure);
  8.若一个节点挂掉,则需要controller manager介入维护,比如Pod副本数量缺失,则需要创建watch事件,要求控制器的副本数要达到标准,从而要创建新的Pod,此过程重复步骤4-6。
posted @ 2025-07-23 22:52  寻梦行  阅读(24)  评论(0)    收藏  举报