Istio数据面新模式

设计理念

将数据平面分层:4层用于基础处理,特点是低资源、高效率;7层用于高级流量处理,特点是功能丰富,但需要更多的资源。您可以根据所需功能的范围,以渐进增量的方式使用服务网格技术。

层级 主要功能
4层 • 流量管理:TCP路由
• 安全:面向4层的简单授权策略、双向TLS
• 可观测:TCP监控指标及日志
7层 • 流量管理:HTTP路由、负载均衡、熔断、限流、故障容错、重试、超时等
• 安全:面向7层的精细化授权策略
• 可观测:HTTP监控指标、访问日志、链路追踪

数据面L4与L7代理的解耦模式下,一方面,将L4 Proxy能力下移到CNI组件中,L4 Proxy组件以DaemonSet的形式运行,分别运行在每个节点上。这意味着它是为一个节点上运行的所有Pod提供服务的共享基础组件。

另一方面,L7代理不再以Sidecar模式存在,而是解耦出来,称为Waypoint Proxy,它是为每一个Service Account创建的7层代理Pod。

image.png

4层和7层代理的配置仍然保持通过Service Mesh控制面组件来进行下发管理。通过这种解耦模式,实现了Service Mesh数据平面与应用程序之间的进一步解耦分离。

在Istio的具体实现中,可以分为以下3个部分:

image.png

不影响应用程序是使Ambient Mesh比传统的Sidecar模式具备更少侵入性的原因之一。与采用Sidecar模式时必须将Sidecar代理注入到每个应用程序部署中相比,Ambient模式下无需以任何方式重新部署或修改现有应用程序。通过不重新部署和直接修改应用程序,可以有效地降低落地风险并简化采用Mesh的落地曲线。

Ambient Mesh的设计是非侵入式的,并且仅对存在特定标记的命名空间并使现有应用程序成为Ambient Mesh的一部分,可以逐步采用。一旦应用程序成为Ambient Mesh的一部分,它立即获得mTLS和L4可观察性功能。

Ambient模式下的路由

在Ambient模式下,工作负载可以分为以下3类: