首页 > 解决方案 > kubectl 命令获取在 k8s 主节点上运行的 pod 列表

问题描述

是否可以从 kubectl 获取在 matser 上运行的 pod 列表?

我试过这个

kubectl get pods -o wide --sort-by="{.spec.nodeName}"

但这并没有说明节点是主节点还是工作节点

标签: kuberneteskubectl

解决方案


概述中所述

Pod 总是在Node上运行。
节点是 Kubernetes 中的工作机器,可以是虚拟机或物理机,具体取决于集群。每个 Node 都由 Master 管理

所以根据定义(即使它与主节点运行在同一台物理机器上),任何节点都在“工作机器”上

https://d33wubrfki0l68.cloudfront.net/5cb72d407cbe2755e581b6de757e0d81760d5b86/a9df9/docs/tutorials/kubernetes-basics/public/images/module_03_nodes.svg

只有 kubectl get node 会显示 ROLE:

vonc@voncvb:~/.kube$ kubectl get node -o wide
NAME           STATUS    ROLES     AGE       VERSION   EXTERNAL-IP   OS-IMAGE                 KERNEL-VERSION
serv0.server   Ready     <none>    18d       v1.9.7    <none>        SUSE CaaS Platform 3.0  docker://x.y.z.z
serv1.server   Ready     <none>    18d       v1.9.7    <none>        SUSE CaaS Platform 3.0   docker://x.y.z.z
serv2.server   Ready     <none>    18d       v1.9.7    <none>        SUSE CaaS Platform 3.0   docker://x.y.z.z
servm.server   Ready     master    18d       v1.9.7    <none>        SUSE CaaS Platform 3.0   docker://x.y.z.z
                         ^^^^^^^

推荐阅读