一个完整的创建Pod流程

一个完整的「创建Pod」流程:
通过
不通过
kubectl提交Pod创建请求
kube-apiserver
认证/授权/校验
写入etcd,标记Pod为「待调度」
返回错误
kube-scheduler监听API Server
筛选可用节点+打分
将Pod与节点绑定,写入etcd
目标节点的kubelet监听API Server
kubelet调用containerd
创建Pod和容器
kubelet定期上报Pod状态到API Server
API Server更新etcd中的Pod状态
kube-proxy监听API Server
创建iptables/IPVS规则,转发流量到Pod


具体步骤拆解:

  1. 运维通过kubectl run nginx --image=nginx提交请求,请求发送到kube-apiserver;
  2. API Server验证用户权限、Pod配置合法性,通过后将Pod信息写入etcd(状态为Pending);
  3. kube-scheduler通过API Server的Watch机制发现「待调度Pod」,执行调度算法,选择最优节点(如node2);
  4. scheduler将Pod与node2绑定,更新etcd中的Pod信息;
  5. node2上的kubelet通过Watch机制发现「分配给自己的Pod」,调用containerd拉取nginx镜像、创建容器;
  6. kubelet启动Pod后,定期向API Server上报Pod状态(Running),API Server更新etcd;
  7. kube-proxy监听Pod创建事件,在node2上创建iptables规则,确保Service能转发流量到该Pod;
  8. CoreDNS为Pod分配域名,网络插件为Pod分配IP,保证Pod能访问集群内其他服务。
相关推荐
XUHUOJUN2 天前
AKS 不是安装在 Windows Server 上,而是运行在 Windows Server 之上的 Azure 平台能力
windows·架构·k8s·azure local·azure stack
Geek-Chow3 天前
Connecting kubectl to a Private EKS Cluster Over an Internal Domain
kubernetes·k8s·aws
spider_xcxc5 天前
Docker Compose 容器通信详解:同一个 Compose 文件才能互通吗?
docker·容器·k8s·容器化·容器网络
欢醉9 天前
k8s调用服务异常cannot allocate memory
kubernetes·k8s
万里侯12 天前
GitOps 漂移检测:集群里改了配置,Git 还以为一切正常
微服务·容器·k8s
spider_xcxc14 天前
云上网络基石(阿里云):深入解读阿里云VPC及其应用生态
网络·阿里云·云计算·k8s·运维开发·虚拟化
weixin_4399306415 天前
Kubernetes(K8s)入门实践
云原生·容器·kubernetes·k8s
AOwhisky16 天前
kubernetes(K8s)学习笔记:第十期与第十一期核心知识点自测与详解
运维·笔记·云原生·kubernetes·云计算·k8s·hpa
赵丙双18 天前
美团 Leaf-snowflake 分布式 ID 生成器 k8s 改造的想法
k8s·snowflake·分布式id生成器·美团 leaf
AOwhisky18 天前
Kubernetes(K8s)学习笔记(第十四期):集群存储与有状态应用(下篇):StatefulSet 有状态应用管理
redis·笔记·mysql·云原生·kubernetes·云计算·k8s