1 驗證prometheus service 已經運行:
$ kubectl -n istio-system get svc prometheus NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE prometheus 10.59.241.54 <none> 9090/TCP 2m
2 驗證Grafana service運行:
$ kubectl -n istio-system get svc grafana NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE grafana 10.59.247.103 <none> 3000/TCP 2m
3 本地訪問grafana
A: 把本地3000端口轉發到grafana pod的3000端口:
$ kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=grafana -o jsonpath='{.items[0].metadata.name}') 3000:3000 &
B: 在本地的瀏覽器中訪問 http://localhost:3000/dashboard/db/istio-mesh-dashboard
curl http://localhost:3000/dashboard/db/istio-mesh-dashboard <a href="/d/1/istio-mesh-dashboard?">Moved Permanently</a>.
上面的port-forward只能本地訪問,不能從外部訪問。
4 如何從外部訪問service:
grafana:
默認是clusterIP,需要改成NodePort,暴露一個在30000 ~32767范圍內的端口。
kubectl edit svc grafana -n istio-system

Prometheus:
也改成Nodeport, 暴露32339端口。
kubectl edit svc -n istio-system prometheus

5 從外網訪問grafana 和 Prometheus:
http://<host>.com:32333/d/1/istio-mesh-dashboard

http://<host>.com:32339/graph

