系列文章:


总目录索引:九析带你轻松完爆 istio 服务网格系列教程

目录

1 前言

2 邀约

3 安装 istio

4 安装 bookinfo 应用

5 设置 kiali

6 kiali 可视化 bookinfo

7 注入和观察流量


1 前言

        如果你对博客有任何疑问,请告诉我。第十三章 九析带你轻松完爆 service mesh - istio kiali bookinfo_第1张图片


2 邀约

        你可以从 b 站搜索 “九析”,获取免费的、更生动的视频资料:第十三章 九析带你轻松完爆 service mesh - istio kiali bookinfo_第2张图片


3 安装 istio

        istio 安装教程请参考本人的博客《istio 安装》。


4 安装 bookinfo 应用

        bookinfo 是 istio 官方提供的样例程序。有关安装、istio 注入请参考本人的博客《istio bookinfo 应用》。


5 设置 kiali

        kiali 是使用 istioctl 客户端工具安装 demo profile 时自动就会安装的组件,kiali 是一款 istio 服务网格可视化工具,提供了服务拓补图、全链路跟踪、指标遥测、配置校验、健康检查等功能。

        有关 kiali 的配置和简单使用请参考本人的博客《kiali 安装》和《kiali 使用》。


6 kiali 可视化 bookinfo

        登录 kiali,进入 overview 菜单,选中 bookinfo 应用,如下图所示,本人布置在 jiuxi 命名空间:第十三章 九析带你轻松完爆 service mesh - istio kiali bookinfo_第3张图片

        点击进入 jiuxi 命名空间下的 "4 Applications" , 进入 "Applications" 视图,可见 bookinfo 样例下的 4 个微服务,并且当前这 4 个微服务状态都健康(Health )如下图所示:第十三章 九析带你轻松完爆 service mesh - istio kiali bookinfo_第4张图片

        最关键的可视化内容可以查看 “Graph” 菜单,如下所示:第十三章 九析带你轻松完爆 service mesh - istio kiali bookinfo_第5张图片

        下面重点介绍 “Graph” 视图下的功能:第十三章 九析带你轻松完爆 service mesh - istio kiali bookinfo_第6张图片

1 命名空间

2 分类图展示:app(应用视角,label 名为 app,并且 app 值相同的资源算作一类 app)、service(k8s服务视角)、versioned app(标记版本应用视角)、workload(k8s工作负载视角,比如 deployment、job、statefulset、daemonset)

3 指标展示:Requests per second(每秒多少请求)、Requests percent(请求分布占比)、Response time(响应时间)

4 显示过滤器:各种显示开关,用复选框表示;可以选择 Traffic Animation,爽爽看

5 规格过滤显示:可以把它类比为 grep 命令,通过定义好的过滤规则,高亮图的某些组件或元素,比如在 find 字段输入 httpout > 0.5 后回车,可看到如下截图所示

6 三角形表示 k8s 服务

7 圆形表示 k8s workload

8 时间间隔的流量选择器:比如 1m(分钟)、5m、10m、30m、1h(小时)、3h、6h

9 页面刷新频率:比如每 10 秒、每 15 秒、每 30 秒、每 1 分钟、每 5 分钟、每 15 分钟

10 命名空间

11 入口流量、出口流量和总流量显示

12 图例说明:解释图中各个形状各代表什么意思

13 layout:不同展示风格(共有三种,选择自己的喜好)

第十三章 九析带你轻松完爆 service mesh - istio kiali bookinfo_第7张图片


7 注入和观察流量

        选择 ingressgateway svc,通过如下指令:

kubectl get svc -n istio-system -o wide # jiuxi 是我自定义命名空间

        执行结果如下图:第十三章 九析带你轻松完爆 service mesh - istio kiali bookinfo_第8张图片

        因为服务类型是 NodePort,所以 ip 要选择宿主机 ip,而不是 svc cluster-ip 或者是 pod ip,如下图所示:第十三章 九析带你轻松完爆 service mesh - istio kiali bookinfo_第9张图片

        通过 curl 命令打入流量:

while true; do curl http://10.110.101.98:30100/productpage; done

        通过 kiali graph 视图:第十三章 九析带你轻松完爆 service mesh - istio kiali bookinfo_第10张图片

        自此,九析带你轻松完爆 istio kiali bookinfo 应用。