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挂载存储
相关推荐
运维栈记11 小时前
如何排错运行在Kubernetes集群中的服务?
云原生·容器·kubernetes
阿里云云原生13 小时前
直播回顾丨详解阿里云函数计算 AgentRun,手把手带你走进 Agentic AI 生产时代
云原生
木卫二号Coding14 小时前
affine+docker+postgresql+备份数据库
数据库·docker·容器
檀越剑指大厂14 小时前
查看 Docker 镜像详情的几种常用方法
docker·容器·eureka
java_logo15 小时前
Webtop Docker 容器化部署指南:基于浏览器的Linux桌面环境
linux·docker·容器·webtop·webtop部署教程·docker部署webtop·linux桌面
源去_云走16 小时前
自建 Iconfy API 服务:解决国内访问不稳定问题
前端·容器·npm·node.js
技术小李...17 小时前
docker下mysql更改密码后WordPress提示无法连接数据库问题
运维·docker·容器
叫致寒吧19 小时前
zookeeper与kafka
分布式·zookeeper·云原生
爱学大树锯19 小时前
在Docker环境中安装RabbitMQ延迟消息插件实战记录
docker·容器·rabbitmq
木风小助理19 小时前
Kubernetes持久化存储架构深度解析:从易失的Pod到永恒的数据
kubernetes