本篇介绍在 kubernetes(k8s) 下使用 kubectl 命令查询重启次数大于 0 的pod,对应的 pod 名称、重启次数、最近一次重启时间信息。
查询重启次数大于0的pod
[root@imzcy ~]# kubectl -n prod get pods -o json | jq -r '.items[] | select(any(.status.containerStatuses[]; .restartCount > 0)) | .metadata.name'
deployment-express-signinapp-v48-20231012091638-86dd7db7c9b6hlp
deployment-express-signinapp-v48-20231012091638-86dd7db7c9bfz46
deployment-java-logisticslogic-v2-54756647fd-4rjj7
[root@imzcy ~]#查询重启次数大于0的pod及对应重启次数
[root@imzcy ~]# kubectl -n prod get pods -o json | jq -r -c '.items[] | select(any(.status.containerStatuses[]; .restartCount > 0)) | {name: .metadata.name, restartCount: .status.containerStatuse
s[].restartCount}'
{"name":"deployment-express-signinapp-v48-20231012091638-86dd7db7c9b6hlp","restartCount":2}
{"name":"deployment-express-signinapp-v48-20231012091638-86dd7db7c9bfz46","restartCount":4}
{"name":"deployment-java-logisticslogic-v2-54756647fd-4rjj7","restartCount":1}
[root@imzcy ~]#查询重启次数大于0的pod及重启次数和最近一次重启时间
查询重启次数大于 0 的pod,对应的 pod 名称、重启次数、最近一次重启时间(因为K8S默认时间为UTC时间,所以转换为CST这个时间要再加上8小时,例如最下面一个2023-10-25T01:00:43Z 则实际是 10月25号的早上09:00:43)。
[root@imzcy ~]# kubectl -n prod get pods -o json | jq -r -c '.items[] | select(any(.status.containerStatuses[]; .restartCount > 0)) | {name: .metadata.name, restartCount: .status.containerStatuses[].restartCount, lastRestart: .status.containerStatuses[].lastState.terminated.finishedAt}'
{"name":"deployment-express-signinapp-v48-20231012091638-86dd7db7c9b6hlp","restartCount":2,"lastRestart":"2023-10-23T13:03:07Z"}
{"name":"deployment-express-signinapp-v48-20231012091638-86dd7db7c9bfz46","restartCount":4,"lastRestart":"2023-10-23T13:03:13Z"}
{"name":"deployment-java-logisticslogic-v2-54756647fd-4rjj7","restartCount":1,"lastRestart":"2023-10-25T01:00:43Z"}
[root@imzcy ~]#
本文采用 知识共享署名4.0 国际许可协议进行许可。
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。
如果您的问题未解决,欢迎微信扫描右侧二维码与我联系。