我需要通过执行主节点的命令来获取运行在 Worker 节点的 pod 的列表。我可以实现,如果我移动到 Work 节点,然后执行 kubectl get pods -n ns
. 但我需要从主节点执行这个命令,并在worker节点中获取pods。
运行 kubectl get pods -n ns
在特定节点中并不给出在该节点中运行的 pods,而是给出命名空间中的所有 pods ns
无论它们运行在哪个节点上。kubectl get pods -n ns -o wide --field-selector spec.nodeName=<nodename>
给出的豆荚在 ns
部署在特定节点中的命名空间。该命令可以从任何节点或可以访问集群的系统中执行。
kubectl get pods -n kube-system -o wide --field-selector spec.nodeName=kind-control-plane
要从特定节点中运行的所有命名空间中获取 pod,请使用以下命令
kubectl get pods -A -o wide --field-selector spec.nodeName=<nodename>
您也可以使用 kubectl describe nodes nodename
并检查 Non-terminated Pods
部分来查看当前在该特定节点上运行的 pod。
kubectl describe nodes kind-control-plane
PodCIDRs: 10.244.0.0/24
Non-terminated Pods: (9 in total)
Namespace Name CPU Requests CPU Limits Memory Requests Memory Limits AGE
--------- ---- ------------ ---------- --------------- ------------- ---
kube-system coredns-6955765f44-ftkv6 100m (5%) 0 (0%) 70Mi (3%) 170Mi (8%) 56m
kube-system coredns-6955765f44-wgkbn 100m (5%) 0 (0%) 70Mi (3%) 170Mi (8%) 56m
kube-system etcd-kind-control-plane 0 (0%) 0 (0%) 0 (0%) 0 (0%) 56m
kube-system kindnet-248xd 100m (5%) 100m (5%) 50Mi (2%) 50Mi (2%) 56m
kube-system kube-apiserver-kind-control-plane 250m (12%) 0 (0%) 0 (0%) 0 (0%) 56m
kube-system kube-controller-manager-kind-control-plane 200m (10%) 0 (0%) 0 (0%) 0 (0%) 56m
kube-system kube-proxy-n4ntb 0 (0%) 0 (0%) 0 (0%) 0 (0%) 56m
kube-system kube-scheduler-kind-control-plane 100m (5%) 0 (0%) 0 (0%) 0 (0%) 56m
local-path-storage local-path-provisioner-7745554f7f-wgnwm 0 (0%) 0 (0%) 0 (0%) 0 (0%) 56m
Allocated resources:
你可以通过使用这个命令来获取特定节点上运行的 pod。
kubectl get pods --all-namespaces -o wide --field-selector spec.nodeName=<node>
这将列出所有命名空间的所有pods,但你可以缩小它的范围,为特定的命名空间。