You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过指标获取Kubernetes Pod终止时间?kube_completion_time无效

获取Kubernetes Pod终止时间的解决方案

首先明确:kube_completion_time指标仅针对Job/CronJob管理的Pod生效,普通Deployment、StatefulSet、DaemonSet等控制器的Pod不会生成该指标——这就是你大部分Pod查不到数据的原因,你看到的两个有数据的Pod应该是Job实例创建的。

以下是获取普通Pod终止时间的可行方法:

  • 利用Pod状态指标计算终止时间
    当Pod进入Failed或Succeeded状态时,kube_pod_status_phase指标的最后更新时间即可作为Pod的终止时间。使用PromQL查询:

    last_over_time(kube_pod_status_phase{phase=~"Failed|Succeeded"}[1d])
    

    该查询会返回Pod进入终止状态的时间戳,可转换为可读时间格式。

  • 通过容器终止指标获取精确时间
    若需要更精确的容器级终止时间(单容器Pod可直接作为Pod终止时间),可使用kube_pod_container_status_terminated_reason指标,其时间戳即为容器终止时间:

    last_over_time(kube_pod_container_status_terminated_reason[1d])
    
  • 确认kube-state-metrics配置
    确保你的kube-state-metrics部署启用了Pod相关指标采集,默认启动参数包含--collector=pods,若有自定义配置,需检查该参数是否存在,避免Pod指标被禁用。

内容的提问来源于stack exchange,提问作者trey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 18:39:58