diff --git a/ServiceMesh/The-future-of-ServiceMesh.md b/ServiceMesh/The-future-of-ServiceMesh.md index d318ac91..02e94667 100644 --- a/ServiceMesh/The-future-of-ServiceMesh.md +++ b/ServiceMesh/The-future-of-ServiceMesh.md @@ -63,21 +63,18 @@ Cilium 无边车模式的服务网格工作原理如图 8-21 所示。在这种 在以往的 Istio 设计中,边车代理实现了从基本加密到高级 L7 策略的所有数据平面功能。这种设计使得边车代理成为一个“全有或全无”的方案,即使服务对传输安全性要求较低,工程师仍需承担部署和维护完整边车代理的额外成本。 -Ambient Mesh 的设计理念是,将数据平面分为“安全覆盖层”(ztunnel)和七层处理层(waypoint 代理)。 +Ambient Mesh 的设计理念是,将数据平面分为“安全覆盖层”(ztunnel)和七层处理层(waypoint 代理)。安全覆盖层用于基础通信处理,特点是低资源、高效率。它的功能包括: -安全覆盖层用于基础处理,特点是低资源、高效率。它的功能包括: - -- 流量管理:TCP 路由; +- 通信管理:TCP 路由; - 安全:面向四层的简单授权策略、双向 TLS(即 mTLS); - 观测:TCP 监控指标及日志。 -七层处理层用于高级流量处理,特点是功能丰富(当然也需要更多的资源),它的功能包括: -- 流量管理: HTTP 路由、负载均衡、熔断、限流、故障容错、重试、超时等; +七层处理层用于高级通信处理,特点是功能丰富(当然也需要更多的资源),它的功能包括: +- 通信管理: HTTP 路由、负载均衡、熔断、限流、故障容错、重试、超时等; - 安全:面向七层的精细化授权策略; - 观测:HTTP 监控指标、访问日志、链路追踪; - -在数据平面分层解耦的模式下,安全覆盖层的功能被转移至 ztunnel 组件,它以 DaemonSet 形式运行在 Kubernetes 集群的每个节点上。这意味着,ztunnel 是为节点内所有 Pod 提供服务的基础共享组件。另一方面,七层处理层不再以边车模式存在,而是按需为命名空间创建的 Waypoint 组件。Waypoint 组件以 Deployment 形式部署在 Kubernetes 集群中,从 Kubernetes 的角度来看,Waypoint 只是一个普通的 Pod,可以根据负载动态伸缩。业务 Pod 不再需要额外的边车容器即可参与网格,因此 Ambient 模式也被称为“无边车网格”。 +在数据平面分层解耦的模式下,安全覆盖层的功能被转移至 ztunnel 组件,它以 DaemonSet 形式运行在 Kubernetes 集群的每个节点上。这意味着,ztunnel 是为节点内所有 Pod 提供服务的基础共享组件。另一方面,七层处理层不再以边车模式存在,而是按需为命名空间创建的 Waypoint 组件。Waypoint 组件以 Deployment 形式部署在 Kubernetes 集群中,从 Kubernetes 的角度来看,Waypoint 只是一个普通的 Pod,可以根据负载动态伸缩。业务 Pod 不再需要额外的边车代理即可参与网格,因此 Ambient 模式也被称为“无边车网格”。 :::center ![](../assets/Ambient-Mesh.svg)
@@ -86,7 +83,7 @@ Ambient Mesh 的设计理念是,将数据平面分为“安全覆盖层”(z Ambient 分层模式允许你以逐步递进的方式采用 Istio,你可以按需从无网格平滑过渡到安全的 L4 覆盖,再到完整的 L7 处理和策略。根据 Istio 公开的信息,Istio 一直在推进 Ambient Mesh 的开发,并在 2023 年 2 月将其合并到了 Istio 的主分支。这个举措在一定程度上表明,**Ambient Mesh 并非实验性质的“玩具”,而是 Istio 未来发展的重要方向之一**。 -最后,无论是 Sidecarless 还是 Ambient Mesh,它们的设计本质上都是通过中心化代理替代位于应用容器旁边的代理容器。这在一定程度上解决了传统边车代理模式带来的资源消耗、网络延迟问题。但它们的缺陷也无法回避,服务网格的设计理念本来就很抽象,引入 Proxyless、Sidecarless、Ambient Mesh 等模式,进一步加大了服务网格的复杂性和理解难度。 +最后,无论是 Sidecarless 还是 Ambient Mesh,它们本质上都是通过中心化代理替代位于业务容器旁边的代理容器。这在一定程度上解决了传统边车代理模式带来的资源消耗、网络延迟问题。但它们的缺陷也无法回避,服务网格的设计理念本来就很抽象,引入 Proxyless、Sidecarless、Ambient Mesh 等模式,进一步加剧了服务网格的复杂性和理解难度。 [^1]: 参见 https://istio.io/latest/zh/blog/2021/proxyless-grpc/ [^2]: 参见 https://istio.io/latest/zh/blog/2023/ambient-merged-istio-main/