kubectl 命令获取在 k8s 主节点上运行的 pod 列表

shi*_*455 5 kubernetes kubectl

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

我试过这个

kubectl get pods -o wide --sort-by="{.spec.nodeName}"
Run Code Online (Sandbox Code Playgroud)

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

Von*_*onC 1

正如概述中提到的:

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
                         ^^^^^^^
Run Code Online (Sandbox Code Playgroud)