2022-01-05 09:18:28
Istio 社区推出的无 sidecar 代理数据平面模式 Ambient Mesh,旨在简化操作、扩大应用兼容性并降低基础设施成本,提供了一种侵入性更低、更灵活的服务网格解决方案。
一、Istio 传统 sidecar 模式的局限性Ambient Mesh 将 Istio 功能分为两个层次:

这种分层方法使用户能够以增量方型雀式采用 Istio,从无网格到安全覆盖,再到完全的 L7 处理,并根据需要以每个命名空间为基础进行平稳过渡。
三、Ambient Mesh 的核心组件在 Kubernetes 集群的每个节点上运行,作为共享代理。
负责安全连接和验证网格内元素,实现零信任核心功能。
不对工作负载流量进行 L7 处理,仅处理 mTLS 和 L4 功能,资源占用低。
节点网络堆栈将工作负载流量通过本地 ztunnel 重定向,实现数据平面与应用解耦。

基于 Envoy,用于处理命名空间的 L7 功能(如 Virtual Service API、L7 遥测、L7 授权策略)。
作为普通 Kubernetes pod 运行,卜数早可自动扩展以适应实时流量需求。
Istio 控制平面配置 ztunnel 通过 waypoint 代理传递需要 L7 处理的流量。

使用 HTTP CONNECT over mTLS 实现安全隧道,并在路径中插入 waypoint 代理。
提供比 TLS 更干净的流量封装,同时实现与普通负载均衡器基础设施的互操作性。
默认使用 FIPS 构建,满足合规性需求。
资源开销更低:
ztunnel 作为共享资源部署在节点上,减少每个工作负载的资源预留。
waypoint 代理可动态扩展,避免过度配置,提高集群利用率。
安全性增强:
ztunnel 和 waypoint 代理与应用程序解耦,即使应用被破坏,仍可执行严格的安全策略。
ztunnel 仅访问当前节点工作负载的密钥,攻击面有限。
waypoint 代理限于为特定服务账户服务,风险可控。
灵活性:
支持混合部署 sidecar 和 Ambient Mesh,无缝互通。
用户可根据需求选择启用零信任安全或 L7 功能,避免不必要的处理开销。
Ambient Mesh 为服务网格用户提供了一种新的选择,在保持 Istio 核心功能的同时,解决了传统 sidecar 模式的诸多痛点。