Kubernetes:哪个 pod 在节点上使用最多 CPU?

Kubernetes: What pod uses most CPU on a node?

有什么方法可以使用 kubectl 命令列出节点上使用最多 CPU 的所有 PODs。我在官方文档中看不到这个。

您可以使用

获得
kubectl top pods    # This will give you which pod is using how much CPU and Memory

kubectl top nodes   # This will give you which node is using how much CPU and Memory

确保指标服务器已部署在集群上。

要了解安排在特定节点上的哪个 pod 具有最多 CPU 请求,您可以描述该节点并查看 Non-terminated Pods 部分。

kubectl describe node masternode

Non-terminated Pods:          (8 in total)
  Namespace                   Name                                        CPU Requests  CPU Limits  Memory Requests  Memory Limits  AGE
  ---------                   ----                                        ------------  ----------  ---------------  -------------  ---
  kube-system                 calico-kube-controllers-76d4774d89-vmsnf    0 (0%)        0 (0%)      0 (0%)           0 (0%)         30d
  kube-system                 calico-node-t4qzr                           250m (12%)    0 (0%)      0 (0%)           0 (0%)         30d
  kube-system                 coredns-66bff467f8-v9mn5                    100m (5%)     0 (0%)      70Mi (1%)        170Mi (4%)     30d
  kube-system                 etcd-ip-10-0-0-38                           0 (0%)        0 (0%)      0 (0%)           0 (0%)         30d
  kube-system                 kube-apiserver-ip-10-0-0-38                 250m (12%)    0 (0%)      0 (0%)           0 (0%)         30d
  kube-system                 kube-controller-manager-ip-10-0-0-38        200m (10%)    0 (0%)      0 (0%)           0 (0%)         30d
  kube-system                 kube-proxy-nf7jp                            0 (0%)        0 (0%)      0 (0%)           0 (0%)         30d
  kube-system                 kube-scheduler-ip-10-0-0-38                 100m (5%)     0 (0%)      0 (0%)           0 (0%)         30d

如果集群已 metrics server 部署,则以下命令可用于了解 pod 和节点 CPU 利用率

kubectl top podname
kubectl top nodename