如何通过执行主节点的命令来列出在特定 Work 节点中运行的所有 pod?

问题描述 投票:0回答:1

我需要通过执行主节点的命令来获取运行在 Worker 节点的 pod 的列表。我可以实现,如果我移动到 Work 节点,然后执行 kubectl get pods -n ns. 但我需要从主节点执行这个命令,并在worker节点中获取pods。

kubernetes kubernetes-pod bare-metal
1个回答
2
投票

运行 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:

1
投票

你可以通过使用这个命令来获取特定节点上运行的 pod。

kubectl get pods --all-namespaces -o wide --field-selector spec.nodeName=<node>

这将列出所有命名空间的所有pods,但你可以缩小它的范围,为特定的命名空间。

© www.soinside.com 2019 - 2024. All rights reserved.