kubectl操作指南:如何查询所有重启过至少一次的Pod列表
筛选重启次数≥1的Pod的两种常用方法
方法1:结合awk过滤输出结果
直接对kubectl get pods --all-namespaces的输出做字段筛选,RESTARTS对应输出结果的第5列,命令如下:
# 直接输出匹配结果 kubectl get pods --all-namespaces | awk '$5 >= 1' # 保留表头输出 kubectl get pods --all-namespaces | awk 'NR==1 || $5 >=1'
说明:
NR==1表示匹配第一行表头,||为逻辑或运算符,满足两个条件之一的行都会被输出。
方法2:用kubectl原生jsonpath能力过滤
不需要依赖外部工具,直接通过kubectl内置的jsonpath能力匹配Pod的重启次数字段:
kubectl get pods --all-namespaces -o jsonpath='{range .items[?(@.status.containerStatuses[*].restartCount >= 1)]}{.metadata.namespace}{"\t"}{.metadata.name}{"\t"}{.status.containerStatuses[*].restartCount}{"\n"}{end}'
说明:该方法会直接输出符合条件的Pod的命名空间、Pod名称、对应重启次数,无多余内容。
内容的提问来源于stack exchange,提问作者imriss
相关产品推荐
相关产品推荐

