kubespy 部署监视器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/watch-kubernetes-resources-explain-rollout-stalls-and-surface-live-status-transitions-with-kubespy。
技能介绍
问题:部署卡住时,kubectl describe 不够用
一次 Deployment rollout 卡在中途,Pod 反复 Pending 或 CrashLoopBackOff,事件流不停刷屏,kubectl get 只给出最后一行状态。想知道「它刚才经历了什么」,只能反复手动刷新,或者对着时间线猜测。
技能做了什么
核心思路是让 kubespy 持续跟随某个 workload,把状态随时间的变化记录下来,而不是只抓取一个快照:
- 实时状态转换:观察资源在
Pending、ContainerCreating、Running、Ready等状态之间的跳转,每一步都带时间戳。 - 解释停滞原因:当 workload 迟迟不 ready 时,agent 结合观察到的状态序列与事件,说明它停在哪一步、可能卡在哪个环节(调度不上、拉镜像失败、探针未通过等)。
- 跟随式监视:针对 Deployment 这类滚动发布的工作负载,跟踪 rollout 过程中各实例的状态变化。
使用时先选定要观察的目标并启动跟随,之后可以在任意时刻让它解释当前状态;开始监视时也会回溯该资源近期的状态变迁。
适用边界与注意点
- 需要预先装好
kubespyCLI,并具备可用的集群访问权限(kubeconfig 或上下文)。 - 它给出的是对当前状态与事件的解释,不能替代底层排障:节点资源不足、镜像仓库鉴权失败、CNI 配置错误等问题仍需查看对应组件日志。
- 上游安装路径对环境有要求:macOS 可用 Homebrew;从源码安装则要求较新的
kubectl与 Go 工具链。 - 长时间挂起的监视会持续占用一个终端,更适合在排障窗口内使用。
使用场景
- 滚动发布中 Deployment 长时间未 Ready,需要回溯状态变迁找出卡点
- Pod 反复 Pending 或 CrashLoopBackOff,需要结合状态序列与事件解释原因
- 发布后 agent 持续跟踪 workload,向团队同步实时状态变化
- CI/CD 部署完成后校验 workload 是否真正进入 Ready,而非只看最后一行状态
适合人员
- SRE 工程师:需要在集群排障时快速定位工作负载卡在哪个阶段
- 后端开发者:发布应用后想确认 Pod 真实进入 Ready 而不是反复手动刷新
- 平台工程师:为团队提供部署可观测能力,输出带时间戳的状态变迁
- DevOps 负责人:在故障复盘时需要还原 workload 状态变化过程