如何查看Kubernetes集群中哪个Pod占用CPU最高?

  1. 下载Metrics Server的部署文件:

    wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
  2.  编辑下载的components.yaml文件,以便Metrics Server可以与kubelet进行安全通信。   
spec:
      containers:
      - args:
        - --cert-dir=/tmp
        - --secure-port=4443
        - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
        - --kubelet-use-node-status-port
        - --metric-resolution=15s
        - --kubelet-insecure-tls    #取消安全认证
        image: registry.aliyuncs.com/k8sxio/metrics-server:v0.5.0   #修改镜像地址,方便下载
        imagePullPolicy: IfNotPresent
        livenessProbe:
          failureThreshold: 3  

 3、使用kubectl命令将Metrics Server部署到集群中:

kubectl apply -f components.yaml

4、等待部署完成后,可以使用以下命令来检查Metrics Server的状态:

kubectl get deployment metrics-server -n kube-system

部署完成后,就可以使用

kubectl top pod 命令来查看Pod的资源使用情况了。

kubectl top pod --sort-by=cpu  -A  # 跟进cpu排序

如果报错:

1018 09:38:20.818715       1 server.go:188] "Failed probe" probe="metric-storage-ready" err="not metrics to serve"

 I1018 09:38:30.817510       1 server.go:188] "Failed probe" probe="metric-storage-ready" err="not metrics to serve"

 E1018 09:38:34.637375       1 scraper.go:139] "Failed to scrape node" err="GET \"https://172.16.200.102:10250/stats/summary?only_cpu_and_memory=true\": bad status code \"403 Forbidden\"" node="k8s-master"

 E1018 09:38:34.645875       1 scraper.go:139] "Failed to scrape node" err="GET \"https://172.16.200.98:10250/stats/summary?only_cpu_and_memory=true\": bad status code \"403 Forbidden\"" node="k8s-node1" 

  那大概是image镜像版本问题

后来我改为: registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server:v0.6.2

成功运行了!

posted @ 2023-10-18 17:22  我的天啊~  阅读(173)  评论(0编辑  收藏  举报