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

如何使用kubectl命令列出Pod内各容器及其运行明细信息

查看Pod内单容器重启状态的操作方法

默认kubectl get pod输出的RESTARTS字段为Pod内所有容器重启次数的加总值,无法直接定位发生重启的具体容器,可通过以下方案实现容器级状态的直接查询:

  • 方法1:原生kubectl实现(无额外依赖)
    不需要安装第三方工具,直接利用kubectl内置的jsonpath能力遍历容器状态字段,执行时替换<目标Pod名称>为实际要查询的Pod即可:

    kubectl get pod <目标Pod名称> -o jsonpath='{"NAME\tSTATUS\tRESTARTS\tPOD_CREATION_TIME\n"}{range .status.containerStatuses[*]}{.name}{"\t"}{if .state.running then "Running" elif .state.waiting then .state.waiting.reason else .state.terminated.reason end}{"\t"}{.restartCount}{"\t"}{$.metadata.creationTimestamp}{"\n"}{end}'
    

    注意:该方案输出的时间字段为Pod创建的原始时间戳格式,不会自动转换为14h这类简化可读的时长格式,如需格式化输出请使用方法2。

  • 方法2:配合jq输出对齐的可读格式(完全匹配预期输出)
    如果环境已安装jqJSON处理工具,可执行以下命令,自动转换运行时长格式、对齐表格列,输出效果和需求示例完全一致:

    kubectl get pod <目标Pod名称> -o json | jq -r '
    def calc_age:
      (now - (.metadata.creationTimestamp | fromdateiso8601)) as $duration
      | if $duration < 3600 then "\($duration/60 | floor)m"
        elif $duration < 86400 then "\($duration/3600 | floor)h"
        else "\($duration/86400 | floor)d"
      end;
    ["NAME", "STATUS", "RESTARTS", "AGE"],
    (.status.containerStatuses | map([
      .name,
      (.state | to_entries[0].key | ascii_upcase | .[:1] + .[1:]),
      .restartCount,
      calc_age
    ]))[] | @tsv' | column -t
    

    执行后输出示例:

    NAME         STATUS   RESTARTS   AGE
    container-1  Running  2          14h
    container-2  Running  3          14h
    
  • 扩展:批量查询当前命名空间下所有Pod的容器状态
    如需一次性排查所有Pod的容器重启情况,可执行以下循环命令:

    for p in $(kubectl get pods -o name); do
      echo -e "\n=== $p ==="
      kubectl get $p -o json | jq -r '
      def calc_age: (now - (.metadata.creationTimestamp | fromdateiso8601)) as $d | if $d < 3600 then "\($d/60|floor)m" elif $d < 86400 then "\($d/3600|floor)h" else "\($d/86400|floor)d" end;
      ["NAME","STATUS","RESTARTS","AGE"], (.status.containerStatuses|map([.name,(.state|to_entries[0].key|ascii_upcase|.[:1]+.[1:]),.restartCount,calc_age]))[]|@tsv' | column -t
    done
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 23:06:27