首页/云/云与容器速查/kubectl describe 资源详情
Kubernetes68 条

kubectl describe 资源详情

输出资源的完整配置与相关事件(Events 在最后几行):Pod 为何调度失败、镜像拉取报什么错、探针是否失败,describe 通常是第一现场。

云与容器速查云更新于 2026-10-13

kubectl describe 是干什么的

kubectl describe 输出某个资源的完整配置、状态条件与相关事件,是集群排障的第一现场:实例为什么调度不上去、镜像拉取报了什么错、探针是否失败、卷为什么挂不上,答案通常就在输出最后的事件列表里。事件有保留窗口,出问题时越早抓越完整。

基本信息

基本用法kubectl describe 资源类型 名称 -n 命名空间
关键区块状态条件、卷挂载、环境来源、最后是事件列表
事件内容调度失败、拉镜像失败、探针失败、挂载失败的原始说明
节点视角查看节点时可看到资源分配情况与污点,判断能否调度
保留窗口事件有保存时限,忙时尽早执行并保存输出
可查对象实例、服务、节点、存储声明、入口等大多数资源都支持

典型使用场景

  • 排查一直处于等待状态的实例:事件里会写明是资源不足、选择器不匹配还是污点未被容忍
  • 排查镜像拉取失败:事件给出认证失败、标签不存在还是网络超时
  • 排查探针失败:能看到存活或就绪检查失败的时间与次数
  • 核对服务后端:查看服务的后端列表与选择器,判断为何流量进不来
  • 评估节点还能不能放实例:查看已分配资源与实例数量上限
  • 排查存储问题:确认存储声明是否绑定、卷是否挂载成功

输出重点区块

区块内容判读要点
状态条件就绪、调度、初始化等条件条件为假时通常紧跟原因
卷与挂载挂载来源与只读属性挂载失败多半出在存储声明
环境与端口环境变量来源与容器端口端口与实际监听不一致会导致访问失败
事件列表最近的事件流越靠下越新,先看最后几条
节点资源已分配资源与上限余量不足时实例会一直等待

使用示例

使用示例
kubectl describe pod web-1 -n dev | tail -30          # 直接看尾部事件
kubectl describe node node-1 | grep -A5 "Allocated resources"   # 节点余量
kubectl describe svc web | grep -E "Endpoints|Selector"         # 后端与选择器
kubectl describe pod web-1 > /tmp/web-1.desc          # 保存现场,便于对比
# 事件有保留时限,出问题先抓一次再说
事件有保留窗口:默认保存时间有限,出问题时先执行一次并把输出保存下来,过期后 describe 就不再显示,只能去日志系统里翻。
只看状态不读事件是最常见的弯路:状态只告诉结果,事件才说明原因,两者一起看能省下大量试错时间。
描述服务时重点看后端列表:列表为空说明选择器没匹配到实例,或有实例但没通过就绪检查,这是访问不通的首要排查点。
节点视角同样重要:实例一直等待时,除了看实例自身,也要看目标节点的资源余量与污点设置。

输出阅读顺序

  • 从最后的事件开始读,最新的事件通常信息量最大
  • 先看状态条件,条件为假时紧跟着就是原因说明
  • 服务类资源重点看选择器与后端列表
  • 节点类资源重点看已分配资源与污点设置
  • 把输出保存成文件,便于与正常实例逐项对比
把异常实例的详情与同一命名空间里的正常实例对比,能快速发现配置差异,比逐条读配置更有效。

易错点

  • 只看状态不看事件,真正原因(拉镜像失败、探针失败)被漏掉
  • 描述服务不核对后端列表,选择器不匹配时还在反复重启实例
  • 等问题过去很久才来查,事件已过期,排障只能靠猜
  • 只看实例不看目标节点,资源不足与污点问题长期无解
  • 输出内容很长时只看开头,关键事件其实在最后几行

数据来源与参考

  • Kubernetes Docs:kubectl describe

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌