开发者社区> 问答> 正文

我可以运行什么命令来获取最老的pod名称?

我想将最老的pod的名称作为脚本的一部分。似乎我应该能够运行kubectl get po --no-headers=true,按AGE排序,然后只是管道head -n1|awk '{print $1}',但我似乎无法通过工作排序。我正在运行kubectl 1.7.9。

展开
收起
k8s小能手 2018-12-14 17:16:51 2179 0
1 条回答
写回答
取消 提交回答
  • 整合最优质的专家资源和技术资料,问答解疑

    AGE时间采用不规则格式(23m,2d),很难排序,但您可以要求kubectl写出pod开始的时间。时间将以非常可排序的ISO 8601格式出现。获取单个最老的pod的这个配方可能适合您:

    kubectl get pods \

    --no-headers \
    --output=custom-columns=START:.status.startTime,NAME:.metadata.name \

    | sort \
    | head -1 \
    | awk '{print $2}'
    该kubectl命令要求仅按顺序打印每个窗格的开始时间和名称。

    还要考虑一下kubectl get pods -o json,它会给你一个非常大的非常详细的JSON记录。如果您有一个首选的全功能脚本语言,您可以在那里选择,或使用命令行工具,如jq尝试进一步消化它。任何字段路径也可以插入到custom-columns输出规范中。

    2019-07-17 23:21:25
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载