在OpenShift中,是否有一种更优雅的方式来获取应用程序中最近创建的pod的名称my_app
比这个?
name=$(oc get pods -l app=my_app -o=jsonpath='{range.items[*]}{.status.startTime}{"\t"}{.metadata.name}{"\n"}{end}' | sort -r | head -1 | awk '{print $2}')
这个想法是按 .status.startTime
排序并输出一个 .metadata.name
。到目前为止,我还没有成功使用oc get
两个选项 --sort-by
和-o jsonpath
同时,所以我在这个版本中又回到了 Unix 管道。
我正在使用 OpenShift v3.9。我还将这个问题标记为 Kubernetes,因为它可能适用于 kubectl
(而不是 oc
)以类似的方式(没有 -l app=my_app
)。
最佳答案
试试这个:
kubectl get pods --sort-by=.metadata.creationTimestamp -o jsonpath="{.items[0].metadata.name}"
关于kubernetes - 获取最近创建的 Pod 的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51829475/