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挂载存储
相关推荐
草履虫建模35 分钟前
RuoYi-Cloud 微服务本地部署详细流程实录(IDEA + 本地 Windows 环境)
java·spring boot·spring cloud·微服务·云原生·架构·maven
青山师3 小时前
Docker部署whisper转写模型
docker·容器·whisper
●VON8 小时前
重生之我在暑假学习微服务第十一天《配置篇》+网关篇错误订正
java·学习·微服务·云原生·暑假
hadage23311 小时前
--- Eureka 服务注册发现 ---
云原生·eureka
AI云原生13 小时前
2025最新国内服务器可用docker源仓库地址大全(2025年8月更新)
运维·服务器·docker·云原生·容器·kubernetes·serverless
君科程序定做18 小时前
文件管理从基础到高级:文件描述符、超大文件切片重组与快速删除实战
云原生·容器
斯普信专业组19 小时前
基于k8s环境下的pulsar常用命令(上)
云原生·容器·kubernetes·pulsar
慌ZHANG20 小时前
云原生时代的 Linux:容器、虚拟化与分布式的基石
linux·云原生
斯普信专业组1 天前
k8s调度问题
java·容器·kubernetes
qq_213059431 天前
实战:在已有K8S集群如何新增和删除Node节点
云原生·容器·kubernetes