web-dev-qa-db-fra.com

Kubernetes: liste tous les pods et ses nœuds

J'ai 3 nœuds, exécutant toutes sortes de pods. Je voudrais jave une liste de noeuds et de pods, pour un exemple:

NODE1 POD1
NODE1 POD2
NODE2 POD3
NODE3 POD4

Comment cela peut-il être réalisé?

Merci.

34
testTester

Vous pouvez le faire avec colonnes personnalisées :

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

ou juste:

kubectl get pod -o=custom-columns=NODE:.spec.nodeName,NAME:.metadata.name --all-namespaces
62
Nickolay

kubectl possède un format de sortie étendu, simple mais utile, que vous pouvez utiliser comme kubectl get pod -o wide. Ainsi, bien que les formats personnalisés fournis dans d'autres réponses soient utiles, il peut s'agir d'un raccourci pratique.

28

La commande suivante fait plus ou moins ce que vous vouliez. Cependant, il s’agit plus d’une astuce jq que kubectl:

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

2
lang2

Vous pouvez utiliser kubectl get pods --all-namespaces pour répertorier tous les pods de tous les espaces-noms et kubectl get nodes pour répertorier tous les nœuds.

1
Dina Bogdan

Pas exactement comme vous le souhaitiez car il en décrit beaucoup plus, mais vous pouvez utiliser

kubectl describe nodes

il exposera chaque pod par noeud dans le cluster avec les informations suivantes

Espace de noms | Nom | Demandes de CPU | Limites de CPU | Demandes de mémoire | Limites de mémoire

0
Ami Hollander