Kubernetes:列出所有Pod及其节点

我有3个节点,可以运行各种Pod。 我想要一个节点和吊舱列表,例如:

NODE1 POD1
NODE1 POD2
NODE2 POD3
NODE3 POD4

请问如何实现?

谢谢。

testTester asked 2020-07-30T02:25:46Z
5个解决方案
75 votes

您可以使用自定义列来做到这一点:

kubectl get pod -o=custom-columns=NAME:.metadata.name,STATUS:.status.phase,NODE:.spec.nodeName --all-namespaces

要不就:

kubectl get pod -o=custom-columns=NODE:.spec.nodeName,NAME:.metadata.name --all-namespaces
Nickolay answered 2020-07-30T02:26:06Z
35 votes

kubectl具有一个简单但有用的扩展输出格式,您可以像kubectl get pod -o wide那样使用,因此尽管其他答案中提供的自定义格式也不错,但这可能是一个方便的快捷方式。

Radek 'Goblin' Pieczonka answered 2020-07-30T02:26:26Z
3 votes

以下命令或多或少地执行了您想要的操作。 但是,与其说是kubectl绝技,不如说是kubectl get pod --all-namespaces -o json | jq '.items[] | .spec.nodeName + " " + .status.podIP'绝招:

kubectl get pod --all-namespaces -o json | jq '.items[] | .spec.nodeName + " " + .status.podIP'

lang2 answered 2020-07-30T02:26:46Z
2 votes

您可以使用kubectl get pods --all-namespaces列出所有名称空间中的所有Pod,并使用kubectl get nodes列出所有节点。

Dina Bogdan answered 2020-07-30T02:27:06Z
1 votes

并非完全如您所愿,因为它描述的更多,但是您可以使用

kubectl describe nodes

它将使用以下信息公开集群中每个节点的每个Pod

命名空间| 姓名| CPU请求| CPU限制| 内存请求| 内存限制

Ami Hollander answered 2020-07-30T02:27:35Z
translate from https://stackoverflow.com:/questions/48983354/kubernetes-list-all-pods-and-its-nodes