pod的定义以及创建过程

pod是k8s中一个很重要的名词

pod是k8s中最小的工作单元,由一个或多个紧密耦合的容器组成,它们之间共享网络、存储等资源。pod中的容器会一起启动或停止。(我们可以把pod理解为花生壳,而容器是一粒粒花生)

那么pod的创建过程是怎样的呢?

执行 kubectl apply后,kubectl 把 YAML 转成 JSON 发给 API Server。API Server 先做 认证、授权、准入,通过后把 Pod 信息写进 etcd,这时 Pod 还没选机器,一般是 Pending。

接着 Scheduler 发现有"没分配 Node 的 Pod",先筛掉不合适的节点,再从剩下的里打分选一台,把绑定结果回写给 API Server,API Server 再把"绑定到哪个 Node"写进 etcd。

最后被选中的节点上 kubelet 看到任务,开始干活:准备网络(CNI)、挂载存储(CSI)、调用容器运行时(CRI)拉镜像起容器,然后把运行状态持续上报给 API Server,API Server 再写回 etcd,Pod 就变成 Running。

过程中,API-Server是各组件进行通信的中转站,是唯一入口;而etcd相当于整个流程的数据库,其中记录的状态各个组件会努力将其变为现实(自愈性);在 k8s中,许多组件如kubelet,schedule时刻监听自己感兴趣的资源变化,一旦发现有需要自己的地方主动建立连接(list-watch机制)

相关推荐
小赖同学啊2 小时前
智能连接器集群化高可用生产方案
linux·运维·人工智能
wanghao6664552 小时前
DevOps 从入门到实践:构建高效交付流水线
运维·devops
阿里云云原生2 小时前
AI Agent 如何“驾驭”云监控?实测自然语言驱动的全链路可观测运维
云原生
qq_546937272 小时前
从“能用”到“超神”,DeepSeek++给网页版装上“大脑”和“手脚”,支持长期记忆、MCP工具与自动化任务!
运维·自动化
ZStack开发者社区2 小时前
基于AI Agent的ZCF API文档全链路自动化
运维·人工智能·自动化
Cinema KI2 小时前
Linux第一个系统程序-进度条
linux·服务器
Moshow郑锴3 小时前
Ubuntu 26.04 更换阿里云源镜像
linux·运维·ubuntu
Jason_chen3 小时前
Linux 6.2 串口机制深度解析:AI驱动的自适应通信与零信任串口安全架构
linux
迷糊小面包4 小时前
Docker Hadopp集群版部署搭建及常规问题解疑
运维·docker·容器
ShineWinsu4 小时前
对于Linux:线程概念与分页存储管理的解析
linux·运维·服务器·面试·线程·进程·虚拟空间地址