我正在从终端运行以下命令,以在我的所有命名空间中检索特定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