K8S的pod创建过程

创建流程图

  1. 用户发起请求创建deployment;
  2. apiserver收到创建资源的请求,apiserver对客户端操作进行身份认证,认证完成后接受该请求,并把相关的信息保存到etcd中,然后返回确认信息给客户端;
  3. apiserver向etcd持续反馈创建过程中Pod对象的变化;
  4. ControllerManager组件使用watch机制监听apiserver的信息,ControllerManager通过监听发现有新的deployment创建请求,那么ControllerManager会新创建一个Pod,当Pod刚被创建时,它的nodeName属性值为空,代表着此Pod未被调度;
  5. Scheduler组件使用watch机制监听apiserver上的信息,发现有未被调度的Pod,则根据内部算法、节点资源情况,选择最优的节点,然后将Pod绑定该节点,将信息反馈给apiserver;
  6. kubelet组件使用watch机制监听apiserver上的信息,发现有一个Pod应该要被调度到自身所在Node上来;
  7. kubelet从 etcd 获取 pod 清单,并:
  • 通过CRI启动容器
  • 通过CNI配置网络
  • 通过CSI挂载存储
相关推荐
匀泪9 小时前
云原生(LVS NAT模式集群实验)
服务器·云原生·lvs
70asunflower9 小时前
用Docker创建不同的容器类型
运维·docker·容器
CodeGolang10 小时前
Docker容器化部署Zabbix监控系统完整指南
docker·容器·zabbix
DolitD10 小时前
云流技术深度剖析:国内云渲染主流技术与开源和海外厂商技术实测对比
功能测试·云原生·开源·云计算·实时云渲染
ghostwritten11 小时前
春节前夕,运维的「年关」:用 Kubeowler 给集群做一次「年终体检」
运维·云原生·kubernetes
[shenhonglei]21 小时前
灰度发布功能需求说明书
kubernetes
lpruoyu21 小时前
【Docker进阶-03】存储原理
docker·容器
文静小土豆1 天前
Docker 与 containerd 代理配置详解:镜像拉取速度慢的终极解决方案
运维·docker·容器
JY.yuyu1 天前
Docker常用命令——数据卷管理 / 端口映射 / 容器互联
运维·docker·容器
lpruoyu1 天前
【Docker进阶-06】docker-compose & docker swarm
运维·docker·容器