概述
Istio 是一个开源服务网格平台,它可以控制微服务之间数据的共享方式。其附带的 API 可以将 Istio 集成到任何日志记录平台、遥测或策略系统中。在设计上,Istio 可以在多种环境中运行:企业本地、云托管、Kubernetes容器,或虚拟机上运行的服务等。
Istio 的架构分为数据平面和控制平面两部分。在数据平面中,通过在环境中部署 sidecar 代理,即可为服务添加 Istio 支持。该 sidecar 代理与微服务并存,用于将请求路由给其他代理,或从其他代理那路由请求。这些代理共同构成了一个网格网络,可拦截微服务之间的网络通信。控制平面则负责管理和配置代理来路由流量。此外,控制平面还可配置组件,以实施相关策略并收集遥测数据。
借助 Istio 等服务网格,开发和运维部门就可以更好地应对从单体式应用向云原生应用(一组小型、独立且松散耦合的微服务应用的集合)的转变。针对服务网格及其所支持的微服务,Istio 可提供相应的行为分析和运维控制。服务网格降低了部署的复杂性,并减轻了开发团队的负担。借助 Istio 的特别功能,您可以运行分布式微服务架构。这些功能包括:
- 流量管理 - Isitio 拥有流量路由和规则配置功能,使您可以控制服务之间的流量及 API 调用。
- 安全防护 - Istio 提供了底层通信渠道,并可大规模管理服务通信的身份验证、授权和加密。借助 Istio,即可跨多个协议和运行时,以最小的应用更改持续一致地实施各项策略。将 Istio 与 Kubernetes(或基础架构)网络策略一起使用,就能可靠保护网络层和应用层的容器集间或服务间的通信。
可观察性 - 利用 Istio 的跟踪、监测和日志记录功能,深入了解您的服务网格部署。监测功能可以让您了解服务活动将如何影响上游和下游的性能。自定义仪表板可以让您查看所有服务的性能。
为什么选择红帽 OpenShift 服务网格来使用 Istio 平台?
红帽 OpenShift 服务网格基于 Istio 设计构建,并可组合红帽 OpenShift 使用。利用 sidecar 代理(可拦截微服务之间的网络通信),它支持对服务网格中联网的微服务进行行为分析和控制。
在标准 Istio 的基础上,红帽 OpenShift 服务网格提供了更多功能,使其更便于在红帽 OpenShift 上进行部署。