使用 grafana 访问远程 kubernetes 集群

Posted

技术标签:

【中文标题】使用 grafana 访问远程 kubernetes 集群【英文标题】:Accessing a remote kubernetes cluster with grafana 【发布时间】:2019-03-21 13:43:45 【问题描述】:

我有一个在 EC2 实例上运行的 Grafana。我使用 kops 在 AWS 上安装了我的 Kubernetes 集群 k8s.mydomain.com。我想用 Grafana 监控这个集群。在 grafana 中输入 Prometheus 数据源的以下 URL 和来自 kops get secrets kube --type secret -oplaintext 的管理员用户名和密码返回错误。

https://api.k8s.afaquesiddiqui.com/api/v1/namespaces/monitoring/services/prometheus-k8s:9090/proxy/graph#!/role?namespace=default

我还尝试了prometheus 的 kops 插件,但我无法使用以下 URL 访问 grafana:

https://api.k8s.mydomain.com/api/v1/namespaces/monitoring/services/grafana:3000/proxy/#!/role?namespace=default

我做错了吗?有没有更好的方法来做到这一点?

【问题讨论】:

【参考方案1】:

您指定的 URL 是代理端点,因此可以通过通常在您的客户端上设置的代理访问它们:

kubectl proxy

如果您将 kube-apiserver 暴露在非常不推荐的外部,我想您可以从外部访问它。

如果你想从外部访问端点,你通常通过Kubernetes Service 来完成,在第一种情况下是prometheus-k8s 在端口9090 上,在第二种情况下是grafana 在端口3000 上.您没有提供服务是通过NodePort 还是LoadBalancer 公开的,因此端点将根据其公开方式而有所不同。您可以通过以下方式找到:

kubectl get svc

【讨论】:

我试图连接 ClusterIP。抱歉,我是 kuberenetes 的新手。无论如何,我现在可以连接 nodeport 但我想知道 grafana 是否只会显示一个节点的指标,因为我现在只连接到一个节点。 没问题。我相信普罗米修斯会刮掉你所有的豆荚

以上是关于使用 grafana 访问远程 kubernetes 集群的主要内容,如果未能解决你的问题,请参考以下文章

使用 Grafana 访问远程 redis 服务器

kubernetes1.15极速部署prometheus和grafana

Kubernetes第七篇:使用kubernetes部署prometheus+grafana监控系统(Kubernetes工作实践类)

使用 Grafana 监控 Kubernetes:最新 Prometheus 版本丢失了大量数据

如何使用 Grafana 设置 Prometheus Operator 以启用基本 Kubernetes 监控

Kubernetes第七篇:使用kubernetes部署prometheus+grafana监控系统(Kubernetes工作实践类)