Agent Skills
返回列表
🔒

Kubernetes事件API CrashLoop检查器

IT 运维与安全 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/kubernetes-events-api-crashloop-investigator。

技能介绍

当集群陷入 CrashLoop 风暴

凌晨的告警群里弹出一条消息:某个生产 Pod 反复重启,CrashLoopBackOff 已经持续了 20 分钟。打开终端,kubectl logs 的输出被截断在几屏之前,kubectl describe pod 的事件列表里混着健康节点的调度信息和过期的拉取镜像警告。运维人员不得不在几十个 namespace 之间切换,手动拼凑证据,试图还原重启风暴的因果链。

问题的核心在于:Kubernetes 的事件分散在多个 API 中。kubectl get events 只覆盖 namespace 级别且有时间窗口限制,Pod status conditions 反映的是当前观测而非历史趋势,而容器退出码和重启次数散落在 Pod.status.containerStatuses 里。当多个 Pod 同时崩溃,人工梳理这些信号就像在拼一幅没有说明书的拼图。

这个技能做了什么

该技能直接调用 Kubernetes Events API、Pod 状态条件和 Metrics API,把分散的证据聚合为一条可读的诊断链路:

  • 事件采集:通过 Events API 拉取目标 workload 的关联事件,过滤掉 Normal 级别的噪声,聚焦于 Warning 事件如 BackOff、FailedScheduling、ImagePullBackOff 等。
  • 状态关联:读取 Pod 的 status.conditions 和容器状态,提取重启次数、上次终止原因和退出码,将事件时间线与容器生命周期对齐。
  • 指标对照:结合 Metrics API 的 CPU/内存使用曲线,判断资源压力是否与重启时间点存在相关性,例如是否在内存使用飙升后触发 OOMKilled。
  • 证据摘要:生成一份结构化的诊断摘要,标注出最可能的根因假设及其支撑证据,供运维人员在手动排查前快速定位方向。

适用边界与注意点

这个工具并非替代 kubectl,而是缩小排查范围的前置过滤器。需要注意:

  • 权限要求:调用 Events API 和 Metrics API 需要 get、list 权限,RBAC 配置不足时会静默返回空数据。
  • 时间窗口:Events API 默认只保留最近 1 小时的事件,长期重启问题可能丢失早期证据。
  • 根因假设不等于结论:摘要中的推测需要运维人员结合业务日志和基础设施状态进一步验证。
  • 不处理应用层逻辑:它诊断的是 Pod 级别的循环重启,应用内部的死锁或无限递归需要接入应用日志才能定位。

使用场景

  • 凌晨生产Pod持续CrashLoopBackOff,需要在运维接手手动翻kubectl之前快速拿到根因摘要。
  • 多个Deployment同时重启,手动对照Events API、Pod conditions和Metrics API数据太耗时,希望自动对齐时间线。
  • 怀疑容器因OOM被杀,需要在看Metrics曲线之前先确认OOMKilled事件和重启次数的关联证据。
  • 排障团队接手前,需要把分散的Warning事件、退出码和重启趋势整理成一份可读的证据链。

适合人员

  • 一线SRE工程师,面对集群告警时需要在手动查kubectl输出之前先通过结构化摘要快速缩小排查范围。
  • Kubernetes平台运维,日常处理Pod崩溃事件,希望减少在多个API间手工拼凑证据的时间。
  • AI运维Agent开发者,需要给自动化排障流程嵌入一个能调用Events API和Metrics API进行诊断的技能模块。