Kubernetes Deployment 到 Pod 创建流程
·
用户提交 Deployment → 控制器创建 ReplicaSet → ReplicaSet 创建 Pod → Scheduler 调度 Pod → Kubelet 运行容器
第一步:用户提交
用户通过 kubectl apply 提交 Deployment YAML 文件,API Server 验证后存入 Etcd。
第二步:控制器工作
1. Deployment Controller 监听到新 Deployment,创建对应的 ReplicaSet
2. ReplicaSet Controller 监听到新 ReplicaSet,根据 replicas 数量创建 Pod 对象(API对象)
第三步:调度决策
Scheduler 监听到未调度的 Pod:
1. 过滤:排除不满足条件的节点
2. 打分:对剩余节点评分
3. 绑定:将 Pod 绑定到最优节点,更新 Pod 的 nodeName
第四步:节点执行
目标节点的 Kubelet:
1. 监听到分配给自己的 Pod
2. 拉取镜像
3. 通过容器运行时创建容器
4. 启动容器
第五步:状态回传
Kubelet 将 Pod 状态更新为 Running,状态通过 API Server 逐级上报:
Pod → ReplicaSet → Deployment → Etcd
更多推荐
所有评论(0)