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
35 votes
kubectl
具有一个简单但有用的扩展输出格式,您可以像kubectl get pod -o wide
那样使用,因此尽管其他答案中提供的自定义格式也不错,但这可能是一个方便的快捷方式。
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'
2 votes
您可以使用kubectl get pods --all-namespaces
列出所有名称空间中的所有Pod,并使用kubectl get nodes
列出所有节点。
1 votes
并非完全如您所愿,因为它描述的更多,但是您可以使用
kubectl describe nodes
它将使用以下信息公开集群中每个节点的每个Pod
命名空间| 姓名| CPU请求| CPU限制| 内存请求| 内存限制