2.2. Red Hat OpenShift Service Mesh 和 Kiali


Kiali 基于开源 Kiali 项目。请参阅 Kiali 项目。红帽提供的 Kiali 由三个部分组成:

  • 红帽提供的 Kiali Operator
  • Kiali Server
  • OpenShift Service Mesh Console (OSSMC)插件

协同工作,它们组成了 OpenShift Service Mesh 的用户界面(UI)。Kiali 通过显示微服务及其连接方式,为您提供对服务网格的可见性。

Kiali 可以帮助您定义、验证并观察 Istio 服务网格。它所提供的拓扑结构可以帮助您了解服务网格的结构,并提供服务网格的健康状况信息。

Kiali 实时提供网格命名空间的交互式图形视图,可让您了解电路断路器、请求率、延迟甚至流量流图形等功能。Kiali 提供了不同级别的组件的深入了解,如应用程序、服务、工作负载,并可在所选图形节点或边缘上显示上下文信息和图表的交互。

Kiali 还提供验证 Istio 配置的功能,如网关、目的地规则、虚拟服务、网格策略等。Kiali 提供了详细的指标数据,并可使用基本的 Grafana 集成来进行高级查询。通过将 Red Hat OpenShift distributed tracing Platform (Tempo)和 Red Hat OpenShift distributed tracing 数据收集集成到 Kiali 控制台中来提供分布式追踪。

2.2.1. Kiali 架构

Kiali Server (后端)
此组件在容器应用程序平台中运行,并与服务网格组件通信,检索和处理数据,并将这些数据公开给控制台。Kiali 服务器不需要存储。当将服务器部署到集群时,配置在配置映射和 secret 中设置。
Kiali 控制台(前端)
Kiali 控制台是一个 Web 应用程序。控制台会查询 Kiali 服务器将数据提供给用户。

另外,Kiali 依赖于由容器应用程序平台和 Istio 提供的外部服务和组件。

Red Hat Service Mesh (Istio)
Istio 是 Kiali 的要求。Istio 是提供和控制服务网格的组件。虽然 Kiali 和 Istio 可以单独安装,但是 Kiali 需要 Istio。如果没有安装 Istio,则无法工作。Kiali 需要检索 Istio 数据和配置,这些数据和配置通过 Prometheus 和 Red Hat OpenShift Service Mesh 集群 API 公开。
Prometheus
专用 Prometheus 实例是可选的。启用 Istio 遥测时,指标数据存储在 Prometheus 中。Kiali 使用这个 Prometheus 数据来决定网状拓扑结构、显示指标数据、计算健康状况、显示可能的问题等等。Kiali 与 Prometheus 直接沟通,并假设 Istio Telemetry 使用的数据 schema。Istio 依赖于 Prometheus,Kiali 也依赖于 Prometheus。许多 Kiali 的功能在没有 Prometheus 的情况下将无法工作。
OpenShift Container Platform API
Kiali 使用 OpenShift Container Platform API 获取和解析服务网格配置。例如,Kiali 查询集群 API 以获取命名空间、服务、部署、pod 和其他实体的定义。Kiali 还提供查询来解析不同集群实体之间的关系。另外,还可以通过查询集群 API 以获取 Istio 配置,比如虚拟服务、目的规则、路由规则、网关、配额等等。
Tracing
追踪是可选的,但在安装 Red Hat OpenShift distributed tracing 平台和 Kiali 时,Kiali 控制台会包括一个标签页来显示分布式追踪数据,并在图形本身上追踪集成。请注意:如果禁用 Istio 的分布式追踪功能,则不会提供追踪数据。另请注意,用户必须可以访问用户查看追踪数据的命名空间。
Grafana
Grafana 是可选的。如果使用了 Grafana,Kiali 的 metrics 页会包括一个链接,用户可以使用它访问 Grafana 中相同的指标数据。请注意,Grafana 不支持作为 OpenShift Container Platform 或 OpenShift Service Mesh 的一部分。

2.2.2. Kiali 的功能

Kiali 控制台与 OpenShift Service Mesh 集成,并提供以下功能:

Health
快速识别应用程序、服务或工作负载的问题。
Topology
视觉化您的应用程序、服务或工作负载如何通过 Kiali 图形进行通信。
指标
预定义的指标仪表板可让您为 Go、Node.js Chart 服务网格和应用程序性能。Quarkus 、Spring Boot 、Thonttail 和 Vert.x 的服务网格和应用程序性能图表。。您还可以创建您自己的自定义仪表板。
Tracing
与 Red Hat OpenShift distributed tracing 平台(Tempo)集成可让您在组成一个应用程序的多个微服务间追踪请求的路径。
验证
在最常见的 Istio 对象(Destination Rules、Service Entries、Virtual Services 等)上执行高级验证。
配置
使用向导创建、更新和删除 Istio 路由配置的可选功能,或者直接在 Kiali Console 的 YAML 编辑器中创建、更新和删除 Istio 路由配置。

2.2.3. OpenShift Service Mesh Console (OSSMC)插件

OpenShift Service Mesh Console (OSSMC)插件是 Red Hat OpenShift Service Mesh 的 OpenShift Container Platform 插件。它将红帽提供的大多数 Kiali Operator 集成到 OpenShift 控制台中,将 Service Mesh 主菜单选项与专用屏幕注入,以及在整个控制台集成 Service Mesh 标签页。

OSSMC 插件使用红帽提供的 Kiali Operator 安装,需要 Kiali Server 组件。OSSMC 插件有自己的自定义资源(CR)配置。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.