2.2.2. Red Hat OpenShift Service Mesh 架构
Red Hat OpenShift Service Mesh 在逻辑上被分成一个 data plane 和一个 control plane:
data plane 是一组作为 sidecar 部署的智能代理。这些代理会接收并控制服务网格内不同微服务之间的所有入站和出站网络数据。Sidecar 代理还和 Mixer(通用的策略和遥测系统) 进行沟通。
- Envoy 代理可以截获服务网格内所有服务的入站和出站流量。Envoy 会在同一个 pod 中被部署为相关服务的 sidecar。
control plane 可以为路由流量管理和配置代理,并配置 Mixer 来强制执行策略并收集遥测数据。
- Mixer 强制执行访问控制和使用策略(如授权、速率限制、配额、验证和请求追踪),并从 Mixer 代理服务器和其它服务收集遥测数据。
- Pilot 在运行时配置代理。Pilot 为 Envoy sidecars 提供服务发现,智能路由的流量管理功能(例如 A/B 测试或 canary 部署),以及弹性(超时、重试和电路断路器)。
- Citadel 用于发布并轮转证书。Citadel 通过内置的身份和凭证管理功能提供了强大的服务到服务(service-to-service)的验证功能及对最终用户的验证功能。您可以使用 Citadel 提升服务网格中未加密的网络流量的安全性。Operator 可根据服务身份而不是使用 Citadel 进行网络控制来强制实施策略。
- Galley 用来管理服务网格配置,然后验证、处理和发布配置。Galley 用来保护其他服务网格组件,使它们与从 OpenShift Container Platform 获取的用户配置详情相隔离。
Red Hat OpenShift Service Mesh 还使用 istio-operator 来管理 control plane 的安装。Operator 是一个软件,可让您实现和自动化 OpenShift Container Platform 集群中的常见操作。它相当于一个控制器,用于设置或更改集群中对象的所需状态。