2

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

例如,如果我有实例组“Foo”,假设有三个节点 N1、N2 和 N3,它们依次在 N1 上运行 Pod A 和 B,在 N2 上运行 Pod C、D 和 E,以及在 Pod F在 N3 上运行....如何使用 kops/kubectl 使用输入“Foo”进行查询并输出“A、B、C、D、E、F”?

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

谢谢!

4

1 回答 1

4

一种方法是为 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}')

于 2018-04-05T22:32:51.443 回答