【问题标题】:Get multiple time restarted pod list in kubernate在 kubernetes 中获取多次重启的 pod 列表
【发布时间】:2020-10-21 02:46:41
【问题描述】:

从下面的 pods 中,我们如何获得重启超过 2 次的 pods 列表。我们如何才能进入单行查询?

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

【问题讨论】:

    标签: kubernetes google-kubernetes-engine kubectl minikube


    【解决方案1】:

    用途:

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

    如果需要根据命名空间获取 pod,请使用 -n "NameSpace"。 例如:

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

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

    注意awk 将在 linux 中工作,而

    【讨论】:

    • 是否可以使用字段选择器来得到这个结果。
    • 不能使用字段选择器。 @xyz_scala
    【解决方案2】:

    实际上是不可能使用字段选择器来得到这个结果的,在这个github openissue中有提到。

    您可以使用kubectl-o jsonpath 选项来获取重新启动超过2 次的容器名称。示例:

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

    【讨论】:

      猜你喜欢
      • 2022-11-15
      • 2016-08-22
      • 2020-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-28
      相关资源
      最近更新 更多