Kubernetes - 如何列出在特定实例组中运行的所有pod?

时间:2018-04-05 21:50:58

标签: kubectl kops kubernetes

如何使用命令行列出在特定实例组的节点中运行的所有pod?

例如,如果我有实例组" Foo",它让我们说三个节点,N1,N2和N3,那么又在N1上运行pod A和B,pods C,D和E在N2上运行,而pod F在N3上运行....我怎样才能使用kops / kubectl进行查询输入" Foo"并输出" A,B,C,D,E,F"?

我知道您可以查询特定节点并列出其中的所有pod,但我想查询具有许多节点的实例组,并获取所有节点上的所有pod,没有名称空间约束。

谢谢!

1 个答案:

答案 0 :(得分:1)

一种方法是将标签分配给InstanceGroup中的节点,可能使用实例组的名称(为简单起见),然后使用kubectl命令的组合进行查询。

因此,在您的InstanceGroup规范集nodeLabelsig: Foo(请参阅https://github.com/kubernetes/kops/blob/master/docs/instance_groups.md#adding-taints-or-labels-to-an-instance-group)了解详情,然后运行:

kubectl get pods -o wide --all-namespaces | grep -F -f <(kubectl get nodes -l ig=Foo --no-headers | awk '{print $1}')