我有3个节点,运行各种pod。我想有一个节点和pod的列表,例如:
NODE1 POD1 NODE1 POD2 NODE2 POD3 NODE3 POD4
请问如何才能做到这一点?
9nvpjoqh1#
您可以使用自定义列来完成此操作:
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
lx0bsm1f2#
kubectl有一个简单但有用的扩展输出格式,您可以像这样使用
kubectl
kubectl get pod -o wide
因此,虽然其他答案中提供的自定义格式也很好,但这可能是一个方便的快捷方式。
sczxawaw3#
您可以使用kubectl get pods --all-namespaces列出所有名称空间中的所有pod,使用kubectl get nodes列出所有节点。
kubectl get pods --all-namespaces
kubectl get nodes
gorkyyrv4#
下面的命令或多或少地完成了您想要的任务。但是,它更像是一个jq技巧,而不是kubectl技巧:kubectl get pod --all-namespaces -o json | jq '.items[] | .spec.nodeName + " " + .status.podIP'
jq
kubectl get pod --all-namespaces -o json | jq '.items[] | .spec.nodeName + " " + .status.podIP'
3duebb1j5#
不完全是你想要的,因为它描述了更多,但你可以使用kubectl describe nodes它将使用以下信息显示集群中每个节点的每个pod命名空间|名称名称名称|CPU请求|CPU限制|内存请求|内存限制
kubectl describe nodes
jrcvhitl6#
这可以让您:跨群集的“nodeName命名空间单元”:
kubectl get pods --all-namespaces --output 'jsonpath={range .items[*]}{.spec.nodeName}{" "}{.metadata.namespace}{" "}{.metadata.name}{"\n"}{end}'
dw1jzc5e7#
也许答案有点老了,现在你可以简单地启动这个:
kubectl get pods -o wide
7条答案
按热度按时间9nvpjoqh1#
您可以使用自定义列来完成此操作:
或仅:
lx0bsm1f2#
kubectl
有一个简单但有用的扩展输出格式,您可以像这样使用因此,虽然其他答案中提供的自定义格式也很好,但这可能是一个方便的快捷方式。
sczxawaw3#
您可以使用
kubectl get pods --all-namespaces
列出所有名称空间中的所有pod,使用kubectl get nodes
列出所有节点。gorkyyrv4#
下面的命令或多或少地完成了您想要的任务。但是,它更像是一个
jq
技巧,而不是kubectl
技巧:kubectl get pod --all-namespaces -o json | jq '.items[] | .spec.nodeName + " " + .status.podIP'
3duebb1j5#
不完全是你想要的,因为它描述了更多,但你可以使用
kubectl describe nodes
它将使用以下信息显示集群中每个节点的每个pod
命名空间|名称名称名称|CPU请求|CPU限制|内存请求|内存限制
jrcvhitl6#
这可以让您:跨群集的“nodeName命名空间单元”:
dw1jzc5e7#
也许答案有点老了,现在你可以简单地启动这个: