1.3.2. Service Mesh 架构


服务网格技术在网络通信级别运作。也就是说,服务网格组件捕获或截获进出微服务的流量,或修改请求、重定向请求或创建新请求到其他服务。

Service Mesh 架构镜像

在高级别上,Red Hat OpenShift Service Mesh 由 data plane 和一个 control plane 组成

数据平面是一组智能代理,与 pod 中的应用容器一起运行,用于拦截和控制服务网格中微服务之间的所有入站和出站网络通信。数据平面的实现方式是它会截获所有入站(ingress)和出站(egress)网络流量。Istio 数据平面由与 pod 中侧应用程序容器一起运行的 Envoy 容器组成。Envoy 容器充当代理,控制与 pod 往来的所有网络通信。

  • Envoy 代理 是与 data plane 流量交互的唯一 Istio 组件。服务之间的所有传入(ingress)和传出(egress)网络流量通过代理流。Envoy 代理还会收集与网格内服务流量相关的所有指标。Envoy 代理部署为 sidecar,与服务在同一个 pod 中运行。Envoy 代理也用于实现网格网关。

    • sidecar 代理管理附加到它的工作负载实例的入站和出站通信。
    • 网关是作为接收传入或传出 HTTP/TCP 连接的负载平衡器运行的代理。网关配置适用于在网格边缘运行的独立的 Envoy 代理,而不是与您的服务负载一同运行的 sidecar Envoy 代理。您可以使用网关来管理入站和出站流量,允许您指定您要进入或离开网格的流量。

      • Ingress-gateway - 也称为入口控制器,Ingress 网关是一个专用的 Envoy 代理,用于接收和控制进入服务网格的流量。Ingress 网关允许将监控和路由规则等功能应用到进入集群的流量。
      • Egress-gateway - 另外称为出口控制器(Egress Gateway),Egress 网关是一个专用的 Envoy 代理,用于管理离开服务网格的流量。Egress 网关允许对流量退出网格应用监控和路由规则等功能。

control plane 管理并配置组成数据平面的代理。它是配置的权威源,管理访问控制和使用策略,并从服务网格中的代理收集指标。

  • Istio control plane 由 Istiod 组成,它会将几个之前的 control plane 组件(Citadel、Galley 和 Pilot)整合为一个二进制。Istiod 提供服务发现、配置和证书管理。它将高级别路由规则转换为 Envoy 配置,并在运行时将其传播到 sidecar。

    • Istiod 可以充当证书颁发机构 (CA),在 data plane 中生成支持安全 mTLS 通信的证书。您还可以使用外部 CA 来实现这一目的。
    • Istiod 负责将 sidecar 代理容器注入到部署到 OpenShift 集群的工作负载中。

Red Hat OpenShift Service Mesh 使用 istio-operator 来管理 control plane 的安装。Operator 是一个软件,它可让您实现和自动化 OpenShift 集群中的常见操作。它充当控制器,允许您设置或更改集群中对象的所需状态,本例中为 Red Hat OpenShift Service Mesh 安装。

Red Hat OpenShift Service Mesh 还捆绑以下 Istio 附加组件作为该产品的一部分:

  • Kiali - Kiali 是 Red Hat OpenShift Service Mesh 的管理控制台。它提供了仪表板、可观察性以及强大的配置和验证功能。它通过推断流量拓扑显示服务网格的结构,并显示网格的健康状况。Kiali 提供详细的指标、强大的验证、访问 Grafana 以及与分布式追踪平台的强大集成。
  • Prometheus - Red Hat OpenShift Service Mesh 使用 Prometheus 来存储来自服务的遥测信息。Kiali 依靠 Prometheus 获取指标数据、健康状况和网格拓扑。
  • Jaeger - Red Hat OpenShift Service Mesh 支持分布式追踪平台。Jaeger 是一个开源可追踪性服务器,可以集中并显示与多个服务间单一请求关联的 trace。利用分布式追踪平台,您可以监控基于微服务的分布式系统并进行故障排除。
  • Elasticsearch - Elasticsearch 是一个开源、分布式、基于 JSON 的搜索和分析引擎。分布式追踪平台使用 Elasticsearch 进行持久性存储。
  • Grafana - Grafana 为网格管理员提供用于 Istio 数据的高级查询和指标分析和仪表板。另外,Grafana 可以用来分析服务网格指标。

以下 Istio 集成与 Red Hat OpenShift Service Mesh 支持:

  • 3scale - Istio 提供与红帽 3scale API 管理解决方案的可选集成。对于 2.1 之前的版本,这个集成是通过 3scale Istio 适配器实现的。对于 2.1 版本,3scale 集成通过 WebAssembly 模块实现。

有关如何安装 3scale 适配器的详情,请参考 3scale Istio 适配器文档

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.