使用 grafana 访问远程 kubernetes 集群

Accessing a remote kubernetes cluster with grafana

我在 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

我是不是做错了什么?有更好的方法吗?

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

kubectl proxy

我想如果你把你的 kube-apiserver 暴露在外面,你可以从外面访问它,这是非常不推荐的。

如果您想从外部访问端点,您通常会通过 Kubernetes Service which in your first case is prometheus-k8s on port 9090 and in the second case is grafana on port 3000. You didn't provide whether the services are exposed through a NodePort or LoadBalancer 进行访问,因此端点会根据它的公开方式而有所不同。您可以通过以下方式找到答案:

kubectl get svc