我可以使用以下命名对我的Kubernetes pod进行排序:
kubectl get pods --sort-by=.metadata.name
如何使用kubectl
按年龄对它们(或其他资源)进行排序?
答案 0 :(得分:46)
Pod有状态,您可以使用它来查找startTime。
我想像kubectl get po --sort-by=.status.startTime
这样的东西应该有效。
您也可以尝试:
kubectl get po --sort-by='{.firstTimestamp}'
。kubectl get pods --sort-by=.metadata.creationTimestamp
谢谢@chris 显然在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 。
请尝试一下,
答案 4 :(得分:0)
如果您尝试获取最新创建的广告连播,则可以执行以下操作
kubectl get pods --sort-by=.metadata.creationTimestamp -o jsonpath='{.items[-1:].metadata.name}'
请注意,-1:
会获得列表中的最后一项,然后我们返回广告连播名称