一、概述
简介
kiali 是一款 istio 服务网格可视化工具,提供了服务拓补图、全链路跟踪、指标遥测、配置校验、健康检查等功能。
二、访问
在上一篇文章中,https://www.cnblogs.com/xiao987334176/p/14236554.html
其实已经安装了kiali,查看pod和svc
代码语言:javascript复制[root@k8s-master ~]# kubectl get pods -n istio-system|grep kiali
kiali-667b888c56-4zprl 1/1 Running 0 106m
[root@k8s-master ~]#
[root@k8s-master ~]# kubectl get svc -n istio-system|grep kiali
kiali ClusterIP 10.1.114.181 <none> 20001/TCP,9090/TCP 106m
需要将 service 的服务类型设置为 nodeport,执行命令如下:
代码语言:javascript复制kubectl patch svc -n istio-system kiali -p '{"spec": {"type": "NodePort"}}'
再次查看svc
代码语言:javascript复制[root@k8s-master ~]# kubectl get svc -n istio-system|grep kiali
kiali NodePort 10.1.114.181 <none> 20001:32550/TCP,9090:32334/TCP 106m
可以看到20001对应的端口是32550
通过浏览器访问:
代码语言:javascript复制http://192.168.31.236:32550/
效果如下:
默认用户名密码是 admin/admin,当时访问之后,默认是以anonymous用户登录,不需要用户名和密码。
三、使用
Overview(概观)
该菜单全局性展示所有命名空间下服务的流量(traffic)、配置状态(config status)、健康状态(✔)、应用数量(Applications)等。
Application(应用维度)
applications 指运行中的应用,kiali 独有概念。
特别注意 kiali 只能识别设置了 app 标签的应用。如果一个应用有多个版本,需要将这几个版本的 app 标签设置为相同的值。
workloads(负载维度)
kiali 中的负载(workloads)跟 k8s 中的资源对应(比如 deployment、Job、Daemonset、Statefulset 等)。k8s 中的这些资源都可以在 kiali 中检测到,不管这些资源有没有加入到 istio 服务网格中。
Services(服务维度)
对应 k8s 的 service 资源类型。
Istio Config(配置维度)
istio 相关配置类信息。比如这里选择 istio type 类型,将显示有关 istio 服务网格下面的各个类型对应的配置信息状态(✔ 表示配置有效;!表示告警),如上图所示。
四、kiali 架构
由架构图可知,kiali 架构还是比较简单的,属于单体应用。kiali 后台既可以跟外部服务 prometheus、cluster API 进行通信获取 istio 服务网格信息,也可以集成可选服务 jaeger 和 grafana做全链路跟踪和可视化指标度量。
本文参考链接:
https://blog.51cto.com/14268033/2486938