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.
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
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.
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'
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.
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