Kubernetes: list all pods and its nodes

2/26/2018

I have 3 nodes, running all kinds of pods. I would like to jave a list of nodes and pods, for an example:

NODE1 POD1
NODE1 POD2
NODE2 POD3
NODE3 POD4

How can this please be achieved?

Thanks.

-- testTester
kubernetes

5 Answers

2/26/2018

You can do that with custom columns:

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

or just:

kubectl get pod -o=custom-columns=NODE:.spec.nodeName,NAME:.metadata.name --all-namespaces
-- nickgryg
Source: StackOverflow

2/26/2018

kubectl has a simple yet usefull extended output format which you can use like kubectl get pod -o wide, so while custom formats provided in other answers are good, this might be a handy shortcut.

-- Radek 'Goblin' Pieczonka
Source: StackOverflow

2/26/2018

You can use kubectl get pods --all-namespaces to list all the pods from all namespaces and kubectl get nodes for listing all nodes.

-- Dina Bogdan
Source: StackOverflow

2/26/2018

The following command does more or less what you wanted. However, it's more of a jq trick than kubectl trick:

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

-- lang2
Source: StackOverflow

2/26/2018

Not exactly as you wanted cause it describe much more, but you can use

kubectl describe nodes

it will expose each pod per node in the cluster with the following info

Namespace | Name | CPU Requests | CPU Limits | Memory Requests | Memory Limits

-- Ami Hollander
Source: StackOverflow