Istio mixer enables telemetry reporting.
-
验证 Grafana, Prometheus, Kiali 和 Jaeger 成功部署. 他们都被安装在
istio-system
名称空间下面.kubectl get pods -n istio-system kubectl get services -n istio-system
-
配置 Istio 自动收集遥测数据.
cd istio101/workshop/plans/ kubectl create -f guestbook-telemetry.yaml
-
在浏览器中打开 INGRESS_IP 地址来访问 guestbook.
-
模拟一些到guestbook的访问负载.
for i in {1..20}; do sleep 0.5; curl http://$INGRESS_IP/; done
-
为Grafana启动 port forwarding :
kubectl -n istio-system port-forward \ $(kubectl -n istio-system get pod -l app=grafana -o jsonpath='{.items[0].metadata.name}') \ 8082:3000
-
点击浏览器预览图标(眼睛形状)并且选择8082端口.
-
点击Home -> Istio -> Istio Service Dashboard. 从下拉里表框中选择guestbook服务.
-
打开另外一个浏览器窗口来多次访问guestbook应用。或者也可以运行上边的脚本来产生一些工作负载。然后切换回到grafana的窗口。
Grafana dashboard 可以看到有关每个工作负载的metrics. 也可以浏览一下其他的dashborad.
更多 Grafana的参考文档.
-
为Prometheus启动 port forwarding.
kubectl -n istio-system port-forward \ $(kubectl -n istio-system get pod -l app=prometheus -o jsonpath='{.items[0].metadata.name}') \ 8083:9090
-
点击浏览器预览图标(眼睛形状)并且选择8083端口, 在 “Expression” 输入框里输入:
istio_request_bytes_count
. 点击 Execute 然后选择Graph.
-
尝试另一个查询:
istio_requests_total{destination_service="guestbook.default.svc.cluster.local", destination_version="2.0"}
-
还可以尝试
Graph
tab来查看。
Kiali 是一个开源的项目,它可以安装在Istio之上并为Istiot中的微服务提供可视化界面。 通过Kiala你可以详细的查看你的微服务以及他们之间的调用关系。它还提供一些设置熔断和限流的功能。
-
为 Kiali 启动 port forwarding.
kubectl -n istio-system port-forward \ $(kubectl -n istio-system get pod -l app=kiali -o jsonpath='{.items[0].metadata.name}') \ 8084:20001
-
点击浏览器预览图标(眼睛形状)并且选择8084端口. 您需要将/kiali添加到URL的末尾,否则您将看到404.使用以下用户名/密码登录:admin / admin
-
选择 Graph 并选择
default
名称空间. 你可以查看到部署到Istio中的微服务拓扑图。
- 从
Edge Labels
下拉列表框中选择aTraffic rate per second
来查看访问速率. - Kiali 还有很多其他试图来帮组你观察你的微服务。点击这些不同的试图来查看他们。