我可以使用以下方法按名称对我的 Kubernetes pod 进行排序:
kubectl get pods --sort-by=.metadata.name
如何按年龄对它们(或其他资源)进行排序kubectl
?
我可以使用以下方法按名称对我的 Kubernetes pod 进行排序:
kubectl get pods --sort-by=.metadata.name
如何按年龄对它们(或其他资源)进行排序kubectl
?
Pod 有状态,您可以使用它来找出 startTime。
我想类似的东西kubectl get po --sort-by=.status.startTime
应该可以工作。
你也可以试试:
kubectl get po --sort-by='{.firstTimestamp}'
.kubectl get pods --sort-by=.metadata.creationTimestamp
谢谢@chris同样显然在 Kubernetes 1.7 版本中,排序依据被破坏了。
https://github.com/kubernetes/kubectl/issues/43
这是错误报告:https ://github.com/kubernetes/kubernetes/issues/48602
这是公关:https ://github.com/kubernetes/kubernetes/pull/48659/files
kubectl get pods --sort-by=.metadata.creationTimestamp
如果您正在尝试获取最近创建的 pod,您可以执行以下操作
kubectl get pods --sort-by=.metadata.creationTimestamp -o jsonpath='{.items[-1:].metadata.name}'
注意-1:
获取列表中的最后一项,然后我们返回 pod 名称
如果要根据年龄以相反的顺序对它们进行排序:
kubectl get po --sort-by=.metadata.creationTimestamp -n <<namespace>> | tac
我为这些排序目的创建了KUBESORT 。
请试一试,
如果您只想要最近创建的 pod 的名称;
POD_NAME=$(kubectl get pod --sort-by=.metadata.creationTimestamp -o name | cut -d/ -f2 | tail -n 1)
echo "${POD_NAME}"