(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Kubernetes/Dashboard】Error scraping node metricsというエラーの解消法

スポンサーリンク

事象

システムログに以下のメッセージが定期的に出力される。

... journal: {"level":"error","msg":"Error scraping node metrics: the server could not find the requested resource (get nodes.metrics.k8s.io)","time":"..."}

尚、以下記事のようにDashboardをインストールしている。

環境情報
dashboard/v2.4.0

原因/解決策

dashboard-metrics-scraperが起動しているが

# kubectl get all -n kubernetes-dashboard
...
NAME                                        READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/dashboard-metrics-scraper   1/1     1            1           ..
deployment.apps/kubernetes-dashboard        1/1     1            1           ...

メトリクスを返すMetrics APIが作動していない。

# kubectl top nodes
error: Metrics API not available

よってメトリクス収集ツールを導入するか

metrics-scraperを停止することで

# kubectl scale deployment/dashboard-metrics-scraper --replicas=0 -n kubernetes-dashboard
deployment.apps/dashboard-metrics-scraper scaled

エラーは出なくなる。

以下、補足です。

補足

dockerのログを調査した際に

# journalctl -u docker

冒頭のエラーが出力されていました。

... dockerd-current[38910]: {"level":"error","msg":"Error scraping node metrics: the serv..

原因としてはKubernetes Dashboardをインストールすると自動で入るDeploymentに紐づくPodがエラーを出しており、Podのログを確認しても同様のメッセージが確認できました。

# kubectl logs dashboard-metrics-scraper-xx -n kubernetes-dashboard
{"level":"info","msg":"Kubernetes host: https://...:443","time":"..."}
{"level":"info","msg":"Namespace(s): []","time":"..."}
... 
{"level":"error","msg":"Error scraping node metrics: the server could not find the requested resource (get nodes.metrics.k8s.io)","time":"..."}\

以上です。