如何获取已重新启动的pod的带有容器名称的pod列表



使用此命令,我可以获得重新启动的容器名称。

kubectl get pods -o jsonpath='{.items[*].status.containerStatuses[?(@.restartCount>0)].name}'

有没有办法在同一个命令中获取pod名称?

用kubectl获取json,然后用jq:处理它要容易得多

#!/usr/bin/env bash
kubectl get pods -o=json |
jq -r '.items[] |
"(.metadata.name) (.status.containerStatuses[]|select(.restartCount>0).name)"'

我还没有尝试过。

如果(!(有效,它就不是你想要的,因为它应该给你每个Pod名称,然后给你一个与谓词匹配的容器名称列表。

我认为您不能单独使用kubectl --output=jsonpath来仅筛选具有重启容器的Pod名称。

FILTER='
{range .items[*]}
{.metadata.name}
{"t"}
[
{.status.containerStatuses[?(@.restartCount>0)].name}
]
{"n"}
{end}
'
kubectl get pods 
--output=jsonpath="${FILTER}"

相关内容

  • 没有找到相关文章

最新更新