如何根据任何特定的退出代码列出Kubernetes Pod,例如,我需要列出ExitCode值为255的所有Pod

20jt8wwn  于 2022-09-20  发布在  Kubernetes
关注(0)|答案(3)|浏览(213)

如何根据任何特定的exitCode值列出kubenetesPod。例如,我需要列出exitCode值为255的所有Pod。

我已经尝试了下面的命令,它会给所有的豆荚连同所有退出代码。

kubectl get pods -o=jsonpath="{range .items[*]}{.metadata.name}{'t'}{..exitCode}{'n'}{end}"

kubectl get pods -o=jsonpath="{range .items[*]}{.metadata.name}{'t'}{..exitCode}{'n'}{end}"
shyt4zoc

shyt4zoc1#

如果我理解正确的话,您可能想要查看Field Selectors
字段选择器允许您根据一个或多个资源字段的值选择Kubernetes资源。以下是一些字段选择器查询示例:

  • metadata.name=my-service
  • metadata.命名空间!=默认
  • status.Phase=挂起

此kubectl命令选择其status.Phase字段的值正在运行的所有Pod:

kubectl get pods --field-selector status.phase=Running

以下是有关这方面的更多文档。

要筛选的选择器(字段查询),支持‘=’、‘==’和‘!=’。(例如--字段选择器key1=value1、key2=value2)。服务器仅支持每种类型有限数量的字段查询。

如果有帮助,请让我知道。

bhmjp9jg

bhmjp9jg2#

以下是根据特定错误代码获取示例列表的命令:

Kubectl Get Pods$(For i in 0 255;do kubectl Get Pods-o=jsonpath={.items[?(@..exitCode==$i)].metadata.name};Echo;Do Done)

我们可以根据特定的错误码使用下面的命令来删除示例:

Kubectl删除Pods$(对于0 255中的i;Do kubectl Get Pods-o=jsonpath={.items[?(@..exitCode==$i)].metadata.name};Echo;Do Done)

其中for循环中的值,即0 255等是错误代码,您可以在此处给出任何错误代码,然后运行此命令。

sr4lhrrt

sr4lhrrt3#

Kubectl Get Pods-o=jsonPath=“{Range.items[*]}{.metadata.name}{‘\t’}{..exitCode}{‘\n’}{end}”|grep 255

相关问题