Kubernetes:列出所有豆荚及其节点



我有3个节点,运行各种豆荚。我想列出一个节点和豆荚的列表,例如:

NODE1 POD1
NODE1 POD2
NODE2 POD3
NODE3 POD4

请如何实现?

谢谢。

您可以使用自定义列进行操作:

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

kubectl具有简单而有用的扩展输出格式,您可以使用

kubectl get pod -o wide

因此,尽管其他答案中提供的自定义格式很好,但这可能是一个方便的快捷方式。

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

以下命令或多或少地做您想要的。但是,它更像是jq的技巧,而不是kubectl技巧:

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

这会让您:&quot" nodename namesp pod"在整个集群中:

kubectl get pods --all-namespaces --output 'jsonpath={range .items[*]}{.spec.nodeName}{" "}{.metadata.namespace}{" "}{.metadata.name}{"n"}{end}'

也许答案有点旧,现在您可以简单地启动以下内容:

kubectl get pods -o wide

并不是您想要的,因为它描述了更多,但是您可以使用

kubectl describe nodes

它将在群集中显示每个pod 每个节点,并使用以下信息

名称空间|名称|CPU请求|CPU限制|内存请求| 内存限制

最新更新