Ambient 多集群性能

使用 Ambient 模式的多集群部署,您可以以最小的开销提供真正具有全局弹性的大规模应用程序。 除了常规功能外,Istio 控制平面还会在所有从集群上创建监视点, 以保持每个集群提供的全局服务列表的最新状态。 Istio 数据平面可以将流量路由到这些远程全局服务,既可以作为正常流量分发的一部分, 也可以在本地服务不可用时专门进行路由。

控制平面性能

此处所述, Istio 控制平面的扩展通常是部署变更、配置变更和连接代理数量的乘积。 Ambient 多集群为控制平面的可扩展性增加了两个新维度:远程集群数量和远程服务数量。 由于控制平面不为远程集群编写代理(假设采用多主部署拓扑), 因此向网格中添加 10 个远程服务对控制平面性能的影响远低于添加 10 个本地服务。

我们的多集群控制平面负载测试在 10 个集群中分别创建了 300 个服务, 包含 4000 个端点,并将这些集群逐个添加到网格中。 以这种规模添加远程集群对控制平面的影响约为 1% 的 CPU 核心和 180 MB 内存。 在这种规模下,如果控制平面规模适当,在网格中扩展到 10 个集群以上应该是安全的。 需要注意的是,对于多集群可扩展性,水平扩展控制平面无济于事, 因为每个控制平面实例都维护着完整的远程服务缓存。我们建议您修改控制平面的资源请求和限制, 进行垂直扩展以满足多集群网格的需求。

数据平面性能

当流量路由到从集群时,源数据平面会建立一条通往目标集群东西向网关的加密隧道。 然后,它会在第一个隧道内部建立一条二级加密隧道,该隧道终止于目标数据平面。 这种内外隧道的使用使得数据平面能够安全地与从集群通信, 而无需了解哪些 Pod IP 代表哪些服务的详细信息。

然而,这种双重加密确实会带来一些开销。 数据平面负载测试测量了同一集群内 Pod 之间以及两个不同集群之间 Pod 之间的流量响应延迟, 以了解双重加密对延迟的影响。此外,双重加密需要两次握手, 这会不成比例地影响到与远程集群的新连接的延迟。如下所示, 我们的初始连接平均观察到 2.2 毫秒(346%)的额外延迟, 而使用现有连接的请求则观察到 0.13 毫秒(72%)的增加。 虽然这些数字看起来很显著,但预计大多数多集群流量将跨可用区或区域, 并且与数据中心之间的整体传输延迟相比,观察到的开销延迟的增加将是微不足道的。

重新连接的请求延迟
重新连接的请求延迟
无需重新连接即可请求延迟
无需重新连接即可请求延迟
这些信息有用吗?
您是否有更多建议和改进意见?

感谢您的反馈!