Kubernetes中Pod长期处于Pending状态的排查方法
排查 Pod 长时间处于 Pending 状态,通常按照四个步骤来处理最稳妥:先查看 Events,定位 Pod 被拒绝或无法调度的具体原因;再核对 Node 字段,判断调度是否真正落到了某个节点;接着按照资源、PVC、污点、亲和性的顺序,逐项验证这些最常见、最容易导致 Pending 的问题;最后
排查 Pod 长时间处于 Pending 状态,通常按照四个步骤来处理最稳妥:先查看 Events,定位 Pod 被拒绝或无法调度的具体原因;再核对 Node 字段,判断调度是否真正落到了某个节点;接着按照资源、PVC、污点、亲和性的顺序,逐项验证这些最常见、最容易导致 Pending 的问题;最后,再排除节点状态异常、调度器故障,以及命名空间配额限制等系统层面的影响。

Pod 一直处于 Pending 状态,说明它虽然已经被 Kubernetes API Server 成功接收,但可能迟迟没有被调度到任何可用节点上运行,或者看起来已经分配了节点,却卡在启动前的某个关键条件上。大多数情况下,排查线索其实都藏在 Events 中。与其一开始就盲目翻文档,不如先把事件输出看清楚,往往能更快定位问题。
第一步:重点查看 Events,读懂“失败原因”
先执行下面这条命令,直接聚焦关键信息:
kubectl describe pod重点关注底部的 Events 区块,常见提示通常会直接指向根因:
- 0/3 nodes are a vailable: 3 Insufficient cpu → 资源请求超过节点可分配上限
- pod has unbound immediate PersistentVolumeClaims → PVC 尚未成功绑定 PV
- 0/3 nodes had untolerated taint {key: value} → 节点存在污点,Pod 缺少对应的容忍配置
- failed to pull image → 镜像拉取失败(虽然通常属于 ContainerCreating 阶段,但有时也会出现在 Pending 后续)
如果 Events 为空,或者事件已经被新记录覆盖,可以继续补查历史事件:
kubectl get events -n第二步:确认 Pod 是否真的完成调度
继续查看 kubectl describe pod 输出中的 Node 字段:
- Node:
→ 调度器根本没有选中节点,问题通常出在调度阶段,例如资源不足、污点限制、亲和性约束或 PVC 问题 - Node: node-01 → 表示已经调度成功,但卡在容器启动前后阶段,比如镜像拉取、存储挂载、Init 容器执行失败等
这个判断决定了后续排查方向,是 Kubernetes 排查 Pod Pending 状态时非常关键的一步,不能省略。
第三步:逐项验证最常见的高频原因
建议按照实际出现概率从高到低依次检查:
- 资源不足:调度器只看
requests,并不会参考 limits。可以使用kubectl describe node查看 Allocatable 与 Allocated resources 对比,确认剩余 CPU、内存、ephemeral-storage 是否大于或等于 Pod 的 requests 总和 - PVC 未就绪:执行
kubectl get pvc -n,如果状态不是Bound,就需要继续检查 PV 是否存在、StorageClass 是否可用,以及访问模式是否匹配 - 污点与容忍不匹配:使用
kubectl get nodes -o wide查看节点信息中的 Taints;再核对 Pod YAML 里的tolerations是否完整覆盖所需配置 - 节点标签或亲和性限制过严:运行
kubectl get nodes --show-labels,对比 Pod 的nodeSelector或nodeAffinity规则,确认至少存在一个节点能够满足全部调度条件
第四步:不要忽略系统级异常
下面这些情况很容易被遗漏,但一旦出现,往往会导致新创建的 Pod 普遍处于 Pending 状态:
- 节点状态异常:执行
kubectl get nodes,确认 Ready 节点数量是否正常;如果存在 NotReady 或 SchedulingDisabled(被 cordon)节点,需要及时恢复,或者通过其他可用节点绕开 - 调度器本身故障:检查 kube-system 命名空间中的
kube-schedulerPod 是否处于 Running 状态且没有频繁重启;同时查看日志中是否存在 panic、无法连接 etcd 等异常记录 - 命名空间配额耗尽:如果集群启用了 ResourceQuota,可执行
kubectl get resourcequota -n,查看status.hard与status.used是否已经达到上限
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
DDoS攻击的三大主要形式:原理、特征与防御重点
DDoS攻击主要分为基于流量(Volume)、基于应用层(Application)和基于协议(Protocol)三种形式。流量型攻击通过海量数据淹没带宽;应用层攻击利用Web漏洞耗尽服务器资源;协议层攻击则利用TCP握手缺陷导致系统挂起。了解这些原理是制定针对性防御策略的基础。
如何有效预防和缓解DDoS攻击:5大核心策略详解
面对DDoS攻击,单纯增加带宽已非长久之计。本文详解5大核心防护策略:优化网络硬件配置、建立DNS冗余机制、部署透明缓解技术、引入负载平衡器及专用Anti-DDoS模块。通过合理组合这些技术手段,可有效抵御SYN泛洪、Slowloris等常见攻击,保障业务连续性与网站可用性。
DDoS防护四大误区:CDN、防火墙与黑名单的局限性解析
许多企业误以为CDN、防火墙或黑名单能完全抵御DDoS攻击。本文深入解析四大常见误区:CDN仅提供部分缓解、静态黑名单易失效、防火墙算力有限且可能成为目标、阈值警报仅具滞后性。了解这些局限性,有助于构建更立体的防御体系,避免在攻击发生时措手不及。
常见DDoS攻击类型详解:原理、特征与防御策略
本文详细解析四种常见DDoS攻击类型:SYN Flood利用TCP三次握手缺陷耗尽资源;UDP Flood通过海量数据包造成带宽拥塞;ICMP Flood利用Ping请求消耗系统算力;应用层Flood针对Web脚本进行高频请求。了解其原理是制定有效防御策略的基础。
如何有效抵御DDOS攻击:4种核心防护方案解析
面对DDOS攻击,企业需构建多层防护体系。本文详解四大核心策略:利用反向路由器查询进行流量清洗,通过GCDN智能分配节点隐藏源站IP,部署负载均衡硬件分担压力,以及接入高防机房抵御数百G恶意流量。掌握这些技术,可最大程度保障业务连续性。
- 热门数据榜
1
2
3
4
5
6
7
8
9
10
相关攻略
2026-08-31 11:56
2026-08-31 11:56
2026-08-31 11:55
2026-08-31 11:55
2026-08-31 11:54
2026-08-31 11:53
2026-08-31 11:53
2026-08-31 11:53
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程

