我使用以下命令安装k8s仪表板:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml
然后我查看仪表板pod的日志:
$ kubectl -n kubernetes-dashboard logs -f kubernetes-dashboard-665f4c5ff-wcrj9
2020/09/12 04:19:10 Metric client health check failed: an error on the server ("unknown") has prevented the request from succeeding (get services dashboard-metrics-scraper). Retrying in 30 seconds.
2020/09/12 04:19:43 Metric client health check failed: an error on the server ("unknown") has prevented the request from succeeding (get services dashboard-metrics-scraper). Retrying in 30 seconds.
2020/09/12 04:20:17 Metric client health check failed: an error on the server ("unknown") has prevented the request from succeeding (get services dashboard-metrics-scraper). Retrying in 30 seconds.
2020/09/12 04:20:50 Metric client health check failed: an error on the server ("unknown") has prevented the request from succeeding (get services dashboard-metrics-scraper). Retrying in 30 seconds.
2020/09/12 04:21:23 Metric client health check failed: an error on the server ("unknown") has prevented the request from succeeding (get services dashboard-metrics-scraper). Retrying in 30 seconds.
2020/09/12 04:21:56 Metric client health check failed: an error on the server ("unknown") has prevented the request from succeeding (get services dashboard-metrics-scraper). Retrying in 30 seconds.
2020/09/12 04:22:29 Metric client health check failed: an error on the server ("unknown") has prevented the request from succeeding (get services dashboard-metrics-scraper). Retrying in 30 seconds.
kubeadm版本: 1.19
kubectl版本: 1.19
有谁可以帮我?
发布于 2020-09-12 15:09:47
提供一些背景信息:一旦安装了Kubernetes Dashboard,您就安装了一个提供仪表板的Pod以及一个负责从Kubernetes Metrics API ( Dashboard Metrics Scraper )抓取指标的Pod。仪表板委托给刮板,期望通过它的K8s服务来处理它:“仪表板-指标-刮板”。
在您的情况下,找不到此服务。执行"kubectl get service -n kubernetes-dashboard
“以查看是否删除或重命名了刮取器服务。如果已删除,请重新应用仪表板安装yamls以重新创建它。
发布于 2020-09-14 18:25:04
我无法复制您的问题,但以下是您可以尝试调试问题的一些步骤:
当运行状况检查失败时,Metric client health check failed: ... Retrying in 30 seconds
错误在the dashboard's source code中仅出现一次。HealthCheck本身是对api-server的代理请求。
使用以下命令测试proxy是否正常工作。
$ kubectl get --raw "/api/v1/namespaces/kubernetes-dashboard/services/dashboard-metrics-scraper/proxy/healthz"
它应该返回:URL: /healthz
。如果没有,很可能是dashboard-metrics-scraper
服务或pod出了问题。确保服务存在,pod正在运行并准备就绪。
如果它对你有效(从cli),但仍然不适用于kubernetes-dashboard
,这意味着你应该检查kubernetes-dashboard
的RBAC权限,确保kubernetes-dashboard有权限访问proxy
。
您看到的第二个错误:
{"level":"error","msg":"Error scraping node metrics: the server could not find the requested resource (get nodes.metrics.k8s.io)","time":"2020-09-13T02:52:38Z"}
表示您的集群中未部署指标服务器。有关更多信息,请查看metrics-server github repo。
发布于 2020-12-26 21:39:05
我在kubernetes 1.20.1-00 ubuntu 20.04上。我得到了
{"level":"error","msg":"Error scraping node metrics: the server could not find the requested resource (get nodes.metrics.k8s.io)","time":"2020-09-13T02:52:38Z"}
错误,因为我在部署指标服务器之前使用指标刮板部署了kubernetes仪表板。在该配置中运行了一天后,我仍然收到"Error scraping node...“在我的公制刮板吊舱日志里。
我通过将指标刮板部署扩展为0(零),然后将其扩展回所需的pod数量(在我的示例中为3),解决了这个问题。
一旦指标刮板pods旋转起来,日志中的错误消息就会立即消失。
我并不是在暗示这是正确的修复方法,只是观察到一个相同的错误。这可能是由于像我这样简单地以错误的顺序部署指标服务器和Kubernetes仪表板造成的。
https://stackoverflow.com/questions/63856788
复制相似问题