一个完整的创建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能访问集群内其他服务。
相关推荐
小白的码BUG之路1 天前
K8S -- 下载安装dashboard
k8s
切糕师学AI3 天前
K8s 滚动更新与 Spring Boot 优雅停机实战:如何做到真正的平滑发布?
spring boot·云原生·容器·kubernetes·k8s
fengkai45455 天前
7、Kubernetes的Ingress&Network&Scheduler
运维·kubernetes·k8s·ingress·network·scheduler
mengge.cloud9 天前
1022小白入门教程(番外筑基)— nerdctl 容器基本功 + K8s 资源编写
linux·网络·云原生·容器·kubernetes·云计算·k8s
上火的金鱼妹10 天前
节点调度优化 + redis 现有问题优化
k8s
fengkai454511 天前
3、Kubernetes的Namespace&Contexts&Pod&YAML格式
运维·容器·kubernetes·k8s·namespace·yaml·pod
meijinmeng11 天前
Karpenter + Keda 让Kuberntes实现动态扩缩容机制方案指南
k8s
.冰块.12 天前
VMware+Ubuntu24.04 kubeadm 部署 K8s 1.30.2 三节点集群
运维·云原生·容器·kubernetes·k8s·容器编排
我不会起名字32214 天前
K8s Ingress 返回 502 但后端日志正常:4 类上游断连与排查链
kubernetes·k8s·ingress·502·keepalive
Eminem8914 天前
18、k8s配置管理中心Secret
k8s