0

0

kubectl top node/pod 显示数据为空或 metrics-server 报错

舞夢輝影

舞夢輝影

发布时间:2026-01-17 22:41:02

|

499人浏览过

|

来源于php中文网

原创

metrics-server未正常工作导致Metrics API不可用,需检查Pod状态、日志、APIService注册状态,并排查TLS配置、RBAC权限、kubelet配置及网络连通性等问题。

kubectl top node/pod 显示数据为空或 metrics-server 报错

这是因为 metrics-server 没有正确部署、运行异常,或未被 Kubernetes 正确识别为 Metrics API 的提供者。

检查 metrics-server 是否正常运行

执行以下命令确认 Pod 状态和日志:

  • kubectl get pods -n kube-system | grep metrics-server —— 查看 Pod 是否处于 Running 状态,且 READY1/1
  • kubectl logs -n kube-system deployment/metrics-server —— 查看是否有 TLS、证书、连接 apiserver 失败等报错(常见如 x509: certificate signed by unknown authority
  • kubectl get apiservice | grep metrics —— 应看到 v1beta1.metrics.k8s.io 的状态为 True;若为 False,说明该 API 未就绪,需进一步查原因

常见部署问题与修复方法

metrics-server 启动失败多由 TLS 配置或权限引起:

京点点
京点点

京东AIGC内容生成平台

下载
  • 使用官方 YAML 部署时,务必关闭 --kubelet-insecure-tls(仅测试环境),生产环境应配置正确的 kubelet 客户端证书;否则会因证书校验失败无法拉取指标
  • 确认 metrics-server 的 ServiceAccount 具备访问 kubelet 的权限(需 ClusterRoleBinding 绑定到 system:auth-delegatorsystem:metrics-reader
  • 若集群启用了 NodeRestriction 准入控制器,需确保 metrics-server 使用的证书中 CommonNameSubjectAlternativeNames 包含其可访问的节点 IP 或域名

验证 Metrics API 是否可用

绕过 kubectl top,直接测试 Metrics API 接口:

  • kubectl get --raw "/apis/metrics.k8s.io/v1beta1/nodes" —— 应返回 JSON 格式节点指标数据
  • kubectl get --raw "/apis/metrics.k8s.io/v1beta1/pods" —— 同理,查看 Pod 级别指标
  • 若返回 error: the server doesn't have a resource type "nodes" 或 404/503,说明 metrics-server 未成功注册 Metrics API

其他可能原因

排除非 metrics-server 自身的问题:

  • kubelet 是否启用了 --enable-debugging-handlers=true--authentication-token-webhook=true(部分发行版默认关闭)
  • 节点资源监控是否被禁用:检查 kubelet 启动参数中是否含 --cadvisor-port=0(v1.24+ 已弃用 cAdvisor,但旧版本依赖它)
  • 集群网络插件是否拦截了 metrics-server 到 kubelet 的 10250 端口通信(尤其在使用 NetworkPolicy 或服务网格时)

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

412

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

533

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

309

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

74

2025.09.10

resource是什么文件
resource是什么文件

Resource文件是一种特殊类型的文件,它通常用于存储应用程序或操作系统中的各种资源信息。它们在应用程序开发中起着关键作用,并在跨平台开发和国际化方面提供支持。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

149

2023.12.20

scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

187

2023.10.18

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

280

2023.10.25

登录token无效
登录token无效

登录token无效解决方法:1、检查token的有效期限,如果token已经过期,需要重新获取一个新的token;2、检查token的签名,如果签名不正确,需要重新获取一个新的token;3、检查密钥的正确性,如果密钥不正确,需要重新获取一个新的token;4、使用HTTPS协议传输token,建议使用HTTPS协议进行传输 ;5、使用双因素认证,双因素认证可以提高账户的安全性。

6093

2023.09.14

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

43

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
WEB前端教程【HTML5+CSS3+JS】
WEB前端教程【HTML5+CSS3+JS】

共101课时 | 8.3万人学习

JS进阶与BootStrap学习
JS进阶与BootStrap学习

共39课时 | 3.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号