02 创建 Pod 的全链路

创建 Pod 的全链路

直接创建 Pod 后,调度器为它选节点,节点 kubelet 再驱动运行时落地;API 返回成功与 Ready 之间还有多段工作。
版本:Kubernetes v1.37.2;核实日期:2026-11-12。官方在线文档可能继续更新,源码链接固定到对应发布标签。图为原理抽象,省略非本页重点。
specification { element actor { style { shape person; color amber } } element system { style { color muted } } element component { style { color primary } } element storage { style { shape storage; color green } } } model { u = actor 'kubectl' api = component 'API server / 存储' s = component 'Scheduler' k = component '目标节点 kubelet' r = component 'CRI 运行时' net = component 'CNI 插件' pod = component '容器 / Pod' } views { dynamic view index { title '核心链路' variant sequence u -> api 'POST Pod 对象' s -> api '观察未调度 Pod' s -> s '过滤、评分并选择节点' s -> api '写入 Pod 绑定' k -> api '观察绑定到本节点的 Pod' k -> r '分步请求 sandbox、镜像与容器生命周期管理' r -> net '创建 Pod 网络与分配地址' r -> pod '启动容器进程' k -> api '上报状态与探针结果' } }

关键判断

  • scheduler 负责决定落点,kubelet 负责该节点上的运行;调度器不直接调用容器运行时。
  • 运行时通过 CRI 接受生命周期请求,CNI 负责网络实现;镜像拉取、卷挂载或网络失败都可阻止启动。
  • Running 只描述生命周期阶段,Ready 还依赖容器 readiness 与 readiness gates;服务能否接流量要继续检查端点。

边界

图省略 kubelet 内部的并发准备顺序和 CSI;Deployment 创建 Pod 时,还要先经过 Deployment 与 ReplicaSet 控制器。

官方出处与源码

回到首页 · 上一篇 · 下一篇