获取唯一命名空间的Pods



我正在从终端运行以下命令,以在我的所有命名空间中检索特定pod的状态。我试图解决的问题是只返回状态为"Evicted"的唯一命名空间

kubectl get pods --all-namespaces -lapp=myapp | grep Evicted | sort | uniq -c

这是我得到的结果的一个例子:

NAMESPACE       READY       STATUS
customer-1       0/1        Evicted
customer-3       0/1        Evicted
customer-2       0/1        Evicted
customer-3       0/1        Evicted
customer-1       0/1        Evicted

这是我想要的结果:

NAMESPACE       READY       STATUS
customer-1       0/1        Evicted
customer-2       0/1        Evicted
customer-3       0/1        Evicted

我将如何实现这一目标?

kubectl get pods --all-namespaces -lapp=myapp | grep Evicted | awk {'print $1'} | uniq -c

应该为你表演把戏。Uniq并没有因为非唯一的吊舱名称而产生效果。

我想建议您使用kubectl命令参数的另一种方法:

$ kubectl get pods --all-namespaces --field-selector=status.phase=Evicted --sort-by=.metadata.namespace -o custom-columns=NAMESPACE:.metadata.namespace | uniq

在这里,我们使用一些参数来筛选、排序和定义自定义列输出。

输出将类似于此:

NAMESPACE
customer-1
customer-2
customer-3

相关内容

  • 没有找到相关文章

最新更新