一、本节核心内容
本节讲解Kubernetes中Pod的调度运行全流程,梳理各核心组件的协同逻辑,视频提及后续将在调度篇章对调度算法等内容做更详细的说明。
二、Pod调度运行完整流程
步骤1:应用镜像推送
运维人员执行docker push命令,将本地构建的myapp v1.0版本应用镜像推送至远程镜像仓库,镜像仓库可选用国内服务商仓库(如网易蜂巢、阿里云镜像仓库)或Docker官方仓库(Docker Hub)。
步骤2:Pod创建请求提交
运维人员执行kubectl run命令,指定运行刚推送的myapp项目镜像,配置暴露8080端口,该请求以RESTful接口格式发送至Kubernetes集群的API Server。
步骤3:Pod状态持久化
API Server接收到Pod创建请求后,会将Pod的配置信息实例化,并持久化存储至etcd中。
步骤4:Pod调度决策
集群的Scheduler(调度器)持续监听API Server,当发现存在未被分配Node(节点)的Pod时,会通过预选算法、优选算法计算Pod的最优运行节点,最终将Pod与目标Node的绑定关系写入etcd。
步骤5:容器创建与Pod启动
目标Node上的Kubelet持续监听API Server,当发现本节点存在待创建的Pod时,会调用节点上的CRI(Container Runtime Interface,容器运行时接口)创建对应容器;容器创建完成且符合Pod规范后,完整的Pod即形成并进入运行状态。
三、调度机制的核心特性
- 全链路组件解耦:API Server、etcd、Scheduler、Kubelet等组件各自独立完成职责,无强依赖关联。
- 高容错性:若Scheduler发生故障,仅会延迟新Pod的调度,已正常运行的Pod不受任何影响,Scheduler恢复后即可恢复正常调度能力,不会导致集群整体服务不可用。
AI 总结
本节内容系统梳理了Kubernetes Pod从创建请求提交到最终运行的完整调度链路,明确了etcd、Scheduler、Kubelet、CRI等核心组件的协同逻辑与职责边界,同时说明了调度机制的强容错特性,为后续深入学习Kubernetes调度相关知识点打下了基础。