网站标识描述可以填关键词吗,网站系统建设的主要意义,邯郸网站优化建设,常德网站建设技术K8S生成pod过程 流程图具体生成过程用户提交 Pod 定义API Server 处理请求调度器分配节点#xff08;Scheduling#xff09;目标节点上的 Pod 创建网络配置状态上报与监控控制器管理#xff08;Controller Manager#xff09;就绪与服务发现 关键错误场景高级特性 流程图 具… K8S生成pod过程 流程图具体生成过程用户提交 Pod 定义API Server 处理请求调度器分配节点Scheduling目标节点上的 Pod 创建网络配置状态上报与监控控制器管理Controller Manager就绪与服务发现 关键错误场景高级特性 流程图 具体生成过程
用户提交 Pod 定义
用户通过提交 Pod 的 YAML/JSON 配置文件发送到 kube-apiserver。
kubectl apply -f pod.yaml API Server 处理请求
认证与授权API Server 验证用户身份如 TLS 证书、Token并检查权限RBAC。准入控制Admission Control Mutating Admission Controllers可能修改 Pod 配置例如注入 Sidecar 容器。Validating Admission Controllers验证配置的合法性如资源限制是否合规。 持久化存储验证通过后Pod 的元数据写入 etcd 数据库此时 Pod 状态为 Pending。
调度器分配节点Scheduling
kube-scheduler 监听 API Server发现未绑定的 Pod。根据调度策略选择合适节点 资源需求CPU/内存。节点选择器nodeSelector、亲和性affinity、污点与容忍tolerations。 更新 Pod 的 nodeName 字段并写入 etcd触发事件如 Scheduled。
目标节点上的 Pod 创建
kubelet 监听 API Server发现分配到本节点的 Pod。Pod 配置同步kubelet 从 API Server 获取 Pod 定义。存储卷挂载按配置挂载持久卷PV、ConfigMap、Secret 等。容器运行时交互 拉取镜像通过容器运行时如 containerd拉取镜像失败时状态为 ImagePullBackOff。创建容器 先创建 pause 容器共享网络命名空间。按顺序启动 Init 容器若有全部成功后继续。启动主容器执行生命周期钩子如 postStart。
网络配置
CNI 插件调用kubelet 调用 CNI 插件为 Pod 分配 IP、设置网络如 Calico、Flannel。网络策略NetworkPolicy可能由 CNI 插件或其他组件如 Cilium实施。
状态上报与监控
kubelet 持续监控容器状态定期向 API Server 上报 容器启动成功 → Pod 状态变为 Running。容器崩溃或探针失败 → 状态为 CrashLoopBackOff 或 Unhealthy。 事件流记录各组件调度器、kubelet通过 API Server 记录事件如 Pulled, Started可通过 kubectl describe pod 查看。
控制器管理Controller Manager
若 Pod 属于高层资源如 Deployment、ReplicaSet 控制器确保实际状态与期望状态一致例如重启失败的 Pod 或维持副本数。自愈机制自动替换不健康的 Pod如节点故障时重新调度。
就绪与服务发现
就绪探针Readiness Probe 通过后Pod IP 被加入 Service 的 Endpoints。kube-proxy 更新节点上的 iptables/ipvs 规则允许流量路由到新 Pod。
关键错误场景
调度失败无合适节点 → Pod 保持 Pending需检查资源请求、节点标签或污点。镜像拉取失败私有镜像权限问题 → 状态为 ImagePullBackOff。容器崩溃应用启动错误 → CrashLoopBackOff需检查日志kubectl logs。
高级特性
Init 容器按顺序运行全部成功后才启动主容器。Sidecar 注入通过 Admission Controller如 Istio 的自动注入动态修改 Pod 配置。