Kiali 基于开源 Kiali 项目。请参见Kiali 项目。Red Hat 提供的 Kiali 由三个部分组成:
它们协同工作,构成 OpenShift Service Mesh 的用户界面 (UI)。Kiali 通过显示微服务及其连接方式来提供对服务网格的可见性。
Kiali 帮助您定义、验证和观察 Istio 服务网格。它通过推断拓扑结构来帮助您理解服务网格的结构,并提供有关服务网格健康状况的信息。
Kiali 提供了服务网格命名空间的近实时交互式图形视图,该视图可以提供对断路器、请求速率、延迟甚至流量流图等功能的可见性。Kiali 提供了关于不同级别组件(例如应用程序、服务、工作负载)的洞察力,并且可以在所选图形节点或边上显示具有上下文信息和图表交互。
Kiali 还提供验证 Istio 配置(例如网关、目标规则、虚拟服务、网格策略等)的功能。Kiali 提供详细的指标,并且可以使用基本的 Grafana 集成进行高级查询。通过将 Red Hat OpenShift 分布式跟踪平台 (Tempo) 和 Red Hat OpenShift 分布式跟踪数据收集集成到 Kiali 控制台中,提供分布式跟踪。
Kiali 架构
- Kiali 服务器(后端)
-
此组件在容器应用程序平台中运行,并与服务网格组件通信,检索和处理数据,并将这些数据暴露给控制台。Kiali 服务器不需要存储。将服务器部署到集群时,配置在配置映射和密钥中设置。
- Kiali 控制台(前端)
-
Kiali 控制台是一个 Web 应用程序。控制台查询 Kiali 服务器以获取数据并将其呈现给用户。
此外,Kiali 还依赖于容器应用程序平台和 Istio 提供的外部服务和组件。
- Red Hat Service Mesh (Istio)
-
Istio 是 Kiali 的一个要求。Istio 是提供和控制服务网格的组件。虽然 Kiali 和 Istio 可以单独安装,但 Kiali 依赖于 Istio,如果没有 Istio,Kiali 将无法工作。Kiali 需要检索 Istio 数据和配置,这些数据和配置通过 Prometheus 和 Red Hat OpenShift Service Mesh 集群 API 公开。
- Prometheus
-
专用 Prometheus 实例是可选的。启用 Istio 遥测时,指标数据存储在 Prometheus 中。Kiali 使用此 Prometheus 数据来确定网格拓扑,显示指标,计算运行状况,显示可能存在的问题等等。Kiali 直接与 Prometheus 通信,并假定 Istio 遥测使用的架构。Prometheus 是 Istio 的依赖项,也是 Kiali 的硬依赖项,许多 Kiali 的功能如果没有 Prometheus 将无法工作。
- OpenShift Container Platform API
-
Kiali 使用 OpenShift Container Platform API 来获取和解析服务网格配置。例如,Kiali 查询集群 API 以检索命名空间、服务、部署、Pod 和其他实体的定义。Kiali 还进行查询以解析不同集群实体之间的关系。还查询集群 API 以检索 Istio 配置,例如虚拟服务、目标规则、路由规则、网关、配额等等。
- 追踪
-
追踪是可选的,但是当您安装 Red Hat OpenShift 分布式跟踪平台并且 Kiali 已配置时,Kiali 控制台将包含一个选项卡以显示分布式跟踪数据,以及图形本身的跟踪集成。请注意,如果您禁用 Istio 的分布式跟踪功能,则跟踪数据将不可用。还要注意,用户必须访问需要查看跟踪数据的命名空间。
- Grafana
-
Grafana 是可选的。如果可用,Kiali 的指标页面将显示链接,以便用户直接在 Grafana 中查看相同的指标。请注意,Grafana 不受 OpenShift Container Platform 或 OpenShift Service Mesh 支持。
Kiali 功能
Kiali 控制台与 OpenShift Service Mesh 集成,并提供以下功能:
- 健康状况
-
快速识别应用程序、服务或工作负载的问题。
- 拓扑结构
-
通过 Kiali 图形可视化应用程序、服务或工作负载如何通信。
- 指标
-
预定义的指标仪表盘允许您绘制 Go、Node.js、Quarkus、Spring Boot、Thorntail 和 Vert.x 的服务网格和应用程序性能图表。您还可以创建自己的自定义仪表盘。
- 追踪
-
与 Red Hat OpenShift 分布式跟踪平台 (Tempo) 集成,使您可以跟踪请求通过构成应用程序的各种微服务的路径。
- 验证
-
对最常见的 Istio 对象(目标规则、服务条目、虚拟服务等)执行高级验证。
- 配置
-
使用向导或直接在 Kiali 控制台的 YAML 编辑器中创建、更新和删除 Istio 路由配置的可选功能。
OpenShift Service Mesh 控制台 (OSSMC) 插件
OpenShift Service Mesh 控制台 (OSSMC) 插件是 Red Hat OpenShift Service Mesh 的 OpenShift Container Platform 插件。它将 Red Hat 提供的 Kiali Operator 的大部分界面集成到 OpenShift 控制台中,注入服务网格主菜单选项以及专用屏幕,以及在整个控制台中集成服务网格选项卡。
OSSMC 插件使用 Red Hat 提供的 Kiali Operator 安装,并需要 Kiali Server 组件。OSSMC 插件有其自己的自定义资源 (CR) 配置。