如何访问安装在Azure中运行的托管K8上的ingress nginx命名空间中的Prometheus和Grafana?
我已经按照上的说明安装了Prometheus和Grafana,以监控ingress nginx控制器的性能 然而,访问普罗米修斯仪表盘的指令对我来说并不适用 实际上,根据说明,我们应该能够通过以下命令返回的IP之一访问服务:如何访问安装在Azure中运行的托管K8上的ingress nginx命名空间中的Prometheus和Grafana?,azure,kubernetes,Azure,Kubernetes,我已经按照上的说明安装了Prometheus和Grafana,以监控ingress nginx控制器的性能 然而,访问普罗米修斯仪表盘的指令对我来说并不适用 实际上,根据说明,我们应该能够通过以下命令返回的IP之一访问服务: kubectl get nodes --selector=kubernetes.io/role!=master -o jsonpath={.items[*].status.addresses[?\(@.type==\"InternalIP\"\)].ad
kubectl get nodes --selector=kubernetes.io/role!=master -o jsonpath={.items[*].status.addresses[?\(@.type==\"InternalIP\"\)].address}
但是,我不明白这是怎么可能的,因为IP是集群内部的。即使在他们的文件中:
如果IP地址10.192.0.2 10.192.0.3 10.192.0.4
在集群内部,它怎么可能工作
以下是我所拥有的:
mark@D-LP0003:~$ kubectl get svc -n ingress-nginx
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
grafana NodePort 10.0.6.223 <none> 3000:32275/TCP 23m
ingress-nginx-controller LoadBalancer 10.0.254.117 40.76.145.210 80:32542/TCP,443:31960/TCP 51m
ingress-nginx-controller-admission ClusterIP 10.0.110.16 <none> 443/TCP 51m
prometheus-server NodePort 10.0.208.16 <none> 9090:32053/TCP 48m
mark@D-LP0003:~$
我得到相同的内部IP
我发现访问仪表板的唯一方法是通过客户端端口转发:
kubectl port-forward svc/prometheus-server 9090:9090 -n ingress-nginx &
然后我可以在http://localhost:9090
但我不想要它。该服务应该可以从外部访问,那么我如何访问它呢?您几乎没有选择
LoadBalancer
类型服务,而不是NodePort
类型服务来公开grafana和prometheus。您将获得可用于访问服务的外部IP
MASTERNODEIP:32053
,格拉法纳使用MASTERNODEIP:32275
但是我如何获得主IP?kubectl get节点不显示任何主节点!我甚至不明白这怎么可能!如果是AKS群集..主节点不会向您公开。检查kubeconfig文件中可能具有主节点IP的服务器字段。也可以尝试备选方案2和3
mark@D-LP0003:~$ kubectl get nodes --selector=kubernetes.io/role!=master -o jsonpath={.items[*].status.addresses[?\(@.type==\"InternalIP\"\)].address}
10.240.0.4 10.240.0.5 10.240.0.6mark@D-LP0003:~$
kubectl port-forward svc/prometheus-server 9090:9090 -n ingress-nginx &