kubernetes - 获取最近创建的 Pod 的名称

标签 kubernetes openshift jsonpath

在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/

相关文章:

kubernetes - kubectl:使用带有 map 的自定义列输出

node.js - 用于 api 的 kubernetes 集群安全入口点

ssl - 如何配置 Kubernetes Ingress Nginx 白名单只适用于 http

kubernetes - 使用OpenShift在卷装载上写入权限

php - 制作一个 JSONpath 表达式以便它只检索一个特定的值?

python - 读取 json 数据的函数和返回元组或列表的 json 路径

spring - Zuul 无法将流量路由到 Kubernetes 上的服务

kubernetes - kubectl 访问 Google Cloud Container Engine 失败

docker - OpenShift 上的 pgAdmin 使用 RedHat 基本镜像

python - 在 openshift 上的 Bottle.py 应用程序中加载静态文件