选择适合您的数据面模式

ASM支持两种数据面模式:Sidecar模式和Ambient模式。本文介绍如何选择适合您的数据面模式。

Sidecar模式

Sidecar模式中,集群内的每个Pod都会被注入一个Envoy代理,用于处理进出该Pod的所有流量。

ASM自上线以来就基于Sidecar模式构建,Sidecar模式经过了多个版本的打磨并吸收了大量用户的反馈,目前已经十分成熟稳定。

视频介绍

流量路径

Sidecar模式下,典型的流量路径如下图所示:

image

Ambient模式

Ambient模式由Istio社区在2022年推出,旨在解决Sidecar模式的固有缺点。应用Pod内不再有Envoy代理。转而通过节点级的Ztunnel和独立部署的Waypoint实现L4L7能力。从ASM 1.25开始,ASMAmbient模式在单集群场景下正式生产就绪。

功能介绍

4层代理称为Ztunnel,使用Rust语言开发,旨在处理3层和4层流量,比如mTLS、身份验证、4层鉴权和可观测。它以Daemonset的形式部署,同一节点上的Pod共享一个Ztunnel,所有进出这些Pod的流量都会被Ztunnel处理。

7层代理称为Waypoint,基于Envoy实现,以Deployment形式部署,独立于业务应用,它的升级、安装完全无需业务Pod变更。您可以选择为指定的ServicePod开启Waypoint代理,多个ServicePod也可以复用同一个Waypoint代理。开启Waypoint代理之后,所有发往该ServicePod的请求都会先转发给这个Waypoint代理,您配置的各种7层功能也将在Waypoint上被执行。

无需注入SidecarAmbient模式的重要特性,这样可以降低网格的使用和运维门槛。您仅需对特定命名空间添加启用Ambient的标记,就可以立刻获得mTLSL4可观测能力。如果您需要更高级的L7能力,可以选择性地为指定应用或这个命名空间部署Waypoint来实现。

流量路径

Ambient模式的流量路径如下所示:

image

功能对比

功能项

Sidecar模式

Ambient模式

流量管理

完整的Istio功能集。

完整的Istio功能集(需要启用Waypoint)。

安全

完整的Istio功能集。

完整的Istio功能集:默认情况下支持mTLSL4安全;L7鉴权需要启用Waypoint。

可观测

完整的Istio功能集。

完整的Istio功能集:默认情况下支持L4可观测;L7可观测需要启用Waypoint。

启动方式

为命名添加自动注入标签并重启所有Pod以添加Sidecar。

为命名空间添加标签,无需重启Pod。

升级方式

支持原地升级和金丝雀升级。

需要重启所有业务Pod以注入新版本Sidecar。

支持原地升级。数据面组件随控制面同时升级,无需重启业务Pod。

生命周期管理

代理由应用开发人员管理。

平台管理员,应用开发人员无需感知代理的存在。

资源利用率

每个Pod都有L7代理,想要实现较高的资源利用率比较困难。

Waypoint代理可以独立调整资源和扩缩容,甚至可以整个命名空间乃至集群使用同一个Waypoint。能够实现更高的资源利用率。

平均资源成本

平均延迟(基于Istio社区数据)

0.63ms~0.88ms

Waypoint:0.16ms~0.20ms

Waypoint:0.40ms~0.50ms

L7解析次数

两次(客户端Sidecar和服务端Sidecar)

Waypoint:0

Waypoint:1

大规模场景支持

需要对每个Sidecar的配置范围进行精细定制,以削减配置量。

无需自定义,默认只会下发必需的配置。

“Server First”协议支持

需要明确配置。

默认支持。

Kubenetes Job支持

由于和Pod生命周期绑定,情况较为复杂。

透明支持。

安全模型

最强:每个工作负载都有自己的密钥。

强:每个Ztunnel中仅具有该节点上的工作负载密钥。

被入侵的Pod是否可以访问网格密钥

可以。

不可以。

说明
  • Ambient模式采用了L4L7分离的架构,并且支持选择性启用L7能力。这种设计允许您在不需要L7功能时无需负担L7的处理成本。

  • 目前SidecarAmbient的混用并未生产就绪。如果您想要在同一个网格中同时使用SidecarAmbient模式,两个模式之间的Pod不可以有相互调用。

  • Ambient模式暂不支持同时管理多个集群。

Ambient模式L4L7能力说明

7层流量处理的开销远高于4层。如果某个服务的需求仅需要4层功能就可以满足,您完全可以让该服务的流量不经过Waypoint,这样可以显著降低网格的资源占用并提升性能。以下为AmbientL4L7常用能力说明。

维度

4层能力

7层能力

安全

  • mTLS加密

  • 基于ServiceAccount的鉴权

  • 基于IP的鉴权

  • 基于HTTP元数据的鉴权,比如Method、Path等。

  • JWT认证。

  • 基于JWT鉴权。

  • 基于OPA的鉴权。

可观测性

  • 源/目的 IP和端口号记录

  • 发送/接收的字节数等。

  • 链路追踪

  • 完整的请求信息记录:HTTP Method、Path、Host以及Status Code等。

路由

TCP连接级别的负载均衡。

  • HTTP请求级别的负载均衡、熔断、限流、超时以及重试。

  • 故障注入。

  • 流量镜像。

可扩展性

N/A

Wasmplugin