在kubernate中获取多个时间重启的pod列表

时间:2020-06-30 18:01:48

标签: kubernetes google-kubernetes-engine kubectl minikube

如何从下面的Pod中获取已重启两次以上的Pod列表。我们如何获得单行查询?

xx-5f6df977d7-4gtxj                 3/3     Running            0          6d21h
xx-5f6df977d7-4rvtg                 3/3     Running            0          6d21h
pkz-ms-profile-df9fdc4f-2nqvw       1/1     Running            0          76d
push-green-95455c5c-fmkr7           3/3     Running            3          15d
spice-blue-77b7869847-6md6w         2/2     Running            0          19d
bang-blue-55845b9c68-ht5s5             1/3     Running            2          8m50s
mum-blue-6f544cd567-m6lws                  2/2     Running            3          76d

2 个答案:

答案 0 :(得分:1)

使用:

kubectl get pods | awk '{if($4>2)print$1}'

如果需要,请使用-n "NameSpace"来基于名称空间获取pod。 例如:

kubectl get pods -n kube-system | awk '{if($4>2)print$1}'

其中$ 1,$ 4:取决于存在哪个列pod名称,分别在哪个列上进行过滤

注意awk将在Linux中运行,而

答案 1 :(得分:1)

实际上是无法使用字段选择器来获得此结果的,如本github打开issue所述。

您可以将kubectl与选项-o jsonpath一起使用,以获取重新启动两次以上的容器名称。示例:

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