如何将 metrics-server 抓取到 kubernetes 集群外的 prometheus

How to scrape metrics-server to prometheus outside kubernetes cluster

我已经安装了 kubernetes metrics-server https://github.com/kubernetes-sigs/metrics-server 它工作正常,我可以使用“kubectl top pods”和“kubectl top nodes”,现在我想将指标抓取到外面的 prometheus kubernetes集群要在Grafana上展示,我试过的有

  1. 使用 NodePort 公开 metrics-server 服务但不工作,出现一些 https 问题
  2. https://github.com/ghouscht/metrics-server-exporter/ (this one only scrape few metrics, I cannot see it on grafana) and https://github.com/grupozap/metrics-server-exporter/ 安装 metrics-server-exporter(这不是一个 http 应用程序,所以我不能公开为 NodePort 服务)

我该怎么办?

试试这些然后告诉我。

1.First 你应该 运行 kube-state-metrics 收集所有 kubernetes 指标。

2.Using kube-state-metrics 上的 pod 注释,公开指标

prometheus.io/scrape: 'true'
prometheus.io/port: 'port'
prometheus.io/path: '/metrics'
prometheus.io/scheme: 'http'

这应该从广告连播级别公开您的指标。要检查这一点,您可以执行到 pod 并在端口上执行 curl 请求,后跟路径

3.Now 运行 一个普罗米修斯代理,可以从这个端口抓取指标并将其发送到后端数据库服务器

4.Configure prometheus ds 在你的 grafana 代理中,它应该完成

您可以使用 helm to install kube-prometheus-stack.

它将安装 Node Exporter, kube-state-metrics and prometheus operator 以及其他依赖项,以允许您监控集群。

您可以使用以下方式安装它:

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo add stable https://charts.helm.sh/stable
helm repo update
helm install [RELEASE_NAME] prometheus-community/kube-prometheus-stack

安装完成后,您可以访问您的 grafana URL 并配置仪表板。

可以在grafana中添加prometheus作为数据源[Configuration -> Data Source](prometheus URL应该默认设置)并import kubernetes dashboard显示您汇总了 Kubernetes 节点上容器 运行 的指标。