无法从运行在kubernetes集群上的浏览器访问Grafana



我需要一点帮助,如果有人可以建议我在哪里做一些错误。我在试着安装普罗米修斯;在Kubernetes上使用Helm监控Grafana。Prometheus和Grafana安装成功。Prometheus和Grafana安装成功

所有pod和服务按预期运行所有pod和服务按预期运行

Grafana和Prometheus服务器都在各自的端口上运行。Grafana和Prometheus服务器都在各自的端口上运行。

然而,当我想从浏览器访问Grafana服务器,然后面临的问题。我想最明显的原因是我们没有在Grafana中暴露节点端口,这是从外部访问所必需的。我们可以在最后一个屏幕截图中看到,Grafana服务器显示了内部集群IP,但没有显示节点端口IP为了获得节点端口,我使用以下命令:Kubectl expose service grafana-server——type=Nodeport——target-port=3000——name=grafana-server-ext但是仍然没有得到NodePort,所以无法使用浏览器访问Grafana。

不是最好的方法,但是使用kubectl port-forward可以实现一种快速的暴露它(用于测试)的方法。

kubectl --namespace <yournamespace> port-forward svc/<nameofyougrafanaservice> <portonlocalmachine>:<portofserviceink8s> --address 0.0.0.0

exmpl .

kubectl --namespace monitoring port-forward svc/grafana-1654184440 30001:3000 --address 0.0.0.0

这将打开您运行kubectl port-forward的本地机器上的端口,您可以通过urlhttp://<YOUR_LOCAL_MACHINE_IP>:30001到达它

命令将占用终端

另外,本地计算机上的防火墙设置应该允许来自外部的连接,您需要打开端口30001

有网络策略阻止此操作。您可以通过运行下面的命令查看所有这些文件;

kubectl get networkpolicies -n monitoring

你可以继续删除所有的,或者最好只删除grafana的。
请注意,不建议在生产环境中删除这些网络策略。执行以下命令删除grafana网络策略

kubectl -n monitoring delete networkpolicies.networking.k8s.io grafana

或执行以下命令,删除监视命名空间下的所有网络策略。

kubectl -n monitoring delete networkpolicies.networking.k8s.io --all

这样你就可以在浏览器中通过Nodeport访问Grafana了。

最新更新