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挂载存储
相关推荐
伊成2 小时前
详解docker挂载目录常用方式
docker·容器·eureka
风清再凯2 小时前
docker镜像的构建image
运维·docker·容器
风清再凯2 小时前
docker 网络
网络·docker·容器
饭碗、碗碗香2 小时前
【开发常用命令】:docker常用命令
linux·运维·笔记·学习·docker·容器
郝同学的测开笔记3 小时前
一次业务投诉引发的思考:如何优雅地将K8s服务暴露给外部?
后端·kubernetes
rocksun3 小时前
云原生和开源助力扩展Agentic AI工作流
人工智能·云原生·开源
白露与泡影4 小时前
springboot + nacos + k8s 优雅停机
spring boot·后端·kubernetes
_板栗_4 小时前
k8s 中 cpu 核数的理解
云原生·容器·kubernetes
谷新龙0014 小时前
docker compose搭建elk 8.6.2
elk·docker·容器
程序员阿超的博客4 小时前
云原生核心技术 (12/12): 终章:使用 GitLab CI 将应用自动部署到 K8s (保姆级教程)
ci/cd·云原生·gitlab