1、通过 kubectl 命令向 apiserver 提交, apiserver 将资源保存在 etcd 中; 

2、controllermanager 通过控制循环,获取新创建的资源,并创建 pod 信息。这里只创建pod并未调度和创建容器

3、kube-scheduler 也会循环获取新创建但未调度的pod,并在执行一系列调度算法后,将 pod 绑定到一个 node上,并更新 etcd 中的信息。具体方式是在 pod 的 spec 中加入 nodeName 字段;

4、Kubelet监视所有Pod对象的更改,当发现Pod已绑定到Node,并且绑定的Node本身的Kubelet会接管所有后续任务,包括创建 pod 网络、创建container等;

5、kubelet 会通过 CRI 调用 container runtime(docker) 创建 pod 中的 container。

 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐