Kubernetes按年龄排序豆荚

时间:2017-07-25 17:43:26

标签: kubernetes kubectl

我可以使用以下命名对我的Kubernetes pod进行排序:

kubectl get pods --sort-by=.metadata.name

如何使用kubectl按年龄对它们(或其他资源)进行排序?

5 个答案:

答案 0 :(得分:46)

Pod有状态,您可以使用它来查找startTime。

我想像kubectl get po --sort-by=.status.startTime这样的东西应该有效。

您也可以尝试:

  1. kubectl get po --sort-by='{.firstTimestamp}'
  2. kubectl get pods --sort-by=.metadata.creationTimestamp谢谢@chris
  3. 显然在1.7版本中,sort-by也被打破了。

    https://github.com/kubernetes/kubectl/issues/43

    以下是错误报告:https://github.com/kubernetes/kubernetes/issues/48602

    这是PR:https://github.com/kubernetes/kubernetes/pull/48659/files

答案 1 :(得分:7)

kubectl get pods --sort-by=.metadata.creationTimestamp

答案 2 :(得分:0)

如果要根据年龄对它们进行反向排序:

kubectl get po --sort-by=.metadata.creationTimestamp -n <<namespace>> | tac

答案 3 :(得分:0)

我正是出于这些排序目的而创建的 KUBESORT
请尝试一下,

https://github.com/AATHITH/kubesort

答案 4 :(得分:0)

如果您尝试获取最新创建的广告连播,则可以执行以下操作

kubectl get pods --sort-by=.metadata.creationTimestamp -o jsonpath='{.items[-1:].metadata.name}'

请注意,-1:会获得列表中的最后一项,然后我们返回广告连播名称