系列文章:
总目录索引:九析带你轻松完爆 istio 服务网格系列教程
目录
1 前言
2 邀约
3 安装 istio
4 安装 bookinfo 应用
5 设置 kiali
6 kiali 可视化 bookinfo
7 注入和观察流量
1 前言
如果你对博客有任何疑问,请告诉我。
2 邀约
你可以从 b 站搜索 “九析”,获取免费的、更生动的视频资料:
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 命名空间:
点击进入 jiuxi 命名空间下的 "4 Applications" , 进入 "Applications" 视图,可见 bookinfo 样例下的 4 个微服务,并且当前这 4 个微服务状态都健康(Health ✔)如下图所示:
最关键的可视化内容可以查看 “Graph” 菜单,如下所示:
下面重点介绍 “Graph” 视图下的功能:
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:不同展示风格(共有三种,选择自己的喜好)
7 注入和观察流量
选择 ingressgateway svc,通过如下指令:
kubectl get svc -n istio-system -o wide # jiuxi 是我自定义命名空间
执行结果如下图:
因为服务类型是 NodePort,所以 ip 要选择宿主机 ip,而不是 svc cluster-ip 或者是 pod ip,如下图所示:
通过 curl 命令打入流量:
while true; do curl http://10.110.101.98:30100/productpage; done
通过 kiali graph 视图:
自此,九析带你轻松完爆 istio kiali bookinfo 应用。