Kubernetes中pod的创建流程

一般我们在创建pod的过程中都是,执行kubectl命令去apply对应的yaml文件,但是在执行这个操作的过程到pod被完成创建,k8s的组件都做了哪些操作呢?下面我们简要说说pod被创建的过程。

upload-image

  1. 用户通过kubectl命名发起请求。
  2. apiserver通过对应的kubeconfig进行认证,认证通过后将yaml中的po信息存到etcd。
  3. Controller-Manager通过apiserver的watch接口发现了pod信息的更新,执行该资源所依赖的拓扑结构整合,整合后将对应的信息交给apiserver,apiserver写到etcd,此时pod已经可以被调度了。
  4. Scheduler同样通过apiserver的watch接口更新到pod可以被调度,通过算法给pod分配节点,并将pod和对应节点绑定的信息交给apiserver,apiserver写到etcd。
  5. kubelet从apiserver获取需要创建的pod信息,调用CNI接口给pod创建pod网络,调用CRI接口去启动容器,调用CSI进行存储卷的挂载。
  6. 网络,容器,存储创建完成后pod创建完成,等业务进程启动后,pod运行成功。

Kubernetes中pod的创建流程
https://www.niewx.cn/2020/11/17/2020-11-17-Pod-creation-process-in-Kubernetes/
作者
VashonNie
发布于
2020年11月17日
许可协议