1

在此处输入图像描述

我有一个运行一些 pod 的k3s集群。我想获取所有名称中包含grafana的运行状态的 pod 。

从文档看来,我可以使用字段选择器标志来实现它(在 v1.9 版本中引入)。但是当我试一试时,它没有用。

我知道我可以强制删除具有终止状态的 pod 以获得我想要的。我想在这里知道的是,为什么我的命令没有按预期工作?我错过了什么?

顺便说一句,Terminating pod 已经存在了一段时间。我相信它被卡住了。但同样,这不是这个问题的兴趣所在。

4

1 回答 1

1

如果您查看关于 pod-lifecycle 的 k8s 文档,您会发现 status.phase 只能有 5 个不同的值,并且没有一个是 Terminating. 这意味着终止状态没有反映在该场中,因此通过相位场进行过滤是无用的。

尽管过滤器似乎不支持此字段标签,但终止状态反映在.status.containerStatuses.state文档中的容器状态)下。


所以,你可以做什么?

您可以做的最简单的事情是使用 grep 两次:

kubectl get pods | grep grafana | grep Running
于 2020-11-17T14:04:29.650 回答