初探istio kiali

2021-01-20 10:14:32 浏览数 (1)

一、概述

简介

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

0 人点赞