配置推送优化概述

ASM提供了服务发现范围配置、Sidecar资源推荐和自适应配置推送优化功能,帮助您优化控制平面的配置推送效率与Sidecar的配置大小。本文介绍服务发现范围配置、Sidecar资源推荐和自适应配置推送优化的功能和适用场景。

在默认情况下,由于无法确定数据平面内所有工作负载与服务之间的关系,服务网格数据平面内的所有Sidecar都必须保存数据平面集群内所有服务信息的全量配置。同时,一次针对控制平面或数据平面的修改(例如在控制平面新建一条虚拟服务规则),都会导致控制平面向数据平面的所有Sidecar推送新的配置。

当您在数据平面集群中的工作负载数量比较多时,这种管控方式会增加Sidecar对数据平面集群的资源消耗,同时控制平面会面临巨大的配置推送负担,降低控制平面的效率与可用性。ASM提供了服务发现范围配置、Sidecar资源推荐和自适应配置推送优化功能,帮助您优化配置推送效率。

服务发现范围配置

功能介绍

您可以使用服务发现范围配置功能,根据数据平面集群内命名空间的标签来给定若干标签选择器。标签选择器保证ASM控制平面只需要发现和处理指定命名空间下的应用服务。Sidecar配置内将仅保留被选中命名空间内的服务信息,未被选中的命名空间内的服务发生改变,将不会引起Sidecar的配置推送。关于服务发现范围配置的更多信息,请参见使用服务发现范围配置提升控制平面推送效率

适用场景

服务发现范围配置功能通过命名空间的标签选择器限制了控制平面的管控范围,从而优化Sidecar配置大小,减少不必要的配置推送。当您的数据平面中包含大量的命名空间与服务,而您只希望服务网格ASM仅对其中少数几个命名空间中的服务进行服务发现时,您可以使用服务发现范围配置功能来提升配置推送效率。

Sidecar资源推荐

功能介绍

您可以使用Sidecar资源推荐功能,通过分析数据平面Sidecar产生的访问日志获取数据平面服务之间的调用依赖关系,为数据平面中的每个工作负载自动推荐Sidecar资源。为工作负载推荐Sidecar资源后,将实现以下功能:

  • Sidecar配置内将仅保留该Sidecar对应工作负载所依赖的服务信息。

  • 当该Sidecar资源对应的工作负载无依赖关系的服务发生改变,或与该服务相关的资源发生改变(例如虚拟服务等),都不会引起控制平面向该Sidecar的配置推送,这将大幅度提升了控制面向数据面的配置推送效率。关于应用Sidecar资源后的配置推送优化效果,请参见应用Sidecar资源后的配置推送优化效果

关于Sidecar资源推荐的更多信息,请参见使用基于访问日志分析自动推荐的Sidecar资源

适用场景

如果服务发现范围配置无法满足您的配置推送优化需求,且您的单个命名空间中存在着大量的服务,需要对Sidecar配置进行最大限度的精简,您可以使用ASM基于访问日志的Sidecar资源推荐功能,此功能无需手动编写YAML文件,即可为您的工作负载创建Sidecar资源,降低手动创建Sidecar资源的困难。

自适应配置推送优化

功能介绍

自适应配置推送优化与Sidecar资源推荐功能类似,都通过为数据平面的工作负载应用Sidecar资源来实现配置推送优化。自适应配置推送优化与Sidecar资源推荐功能的差异点如下:

  • 自适应配置推送优化功能将自动、自适应地为您选中的工作负载应用Sidecar资源。您无需对Sidecar资源进行手动的应用或更新操作。当服务的依赖关系发生变化时,也无需进行Sidecar资源的重新推荐。开启自适应配置推送优化功能后,Sidecar资源将会根据集群中被选中的工作负载自动生成。

  • 自适应配置推送优化功能不需要您开启使用日志服务采集数据平面的访问日志。

  • 自适应配置推送优化功能将在数据面部署出口网关组件istio-axds-egressgateway。在依赖关系尚未分析完毕的情况下,应用此功能的工作负载产生的HTTP流量将默认全部经过该出口网关组件。因此,建议您逐步选中应用此功能的工作负载,以免对集群中的流量造成影响。

关于自适应配置推送优化的更多信息,请参见使用自适应配置推送优化提升控制平面推送效率

适用场景

自适应配置推送优化功能将自适应地为您的工作负载创建Sidecar资源,能够以最简单的方式对配置推送进行一键式优化。如果您不熟悉Sidecar资源及配置推送优化的相关概念,希望以最小代价启用配置推送优化能功能,可以选择启用自适应配置推送优化功能。

自适应配置推送优化功能依赖数据面的出口网关组件,进行日志上报以及控制平面的服务依赖计算。开启该功能后,可能在短时间内为您网格的数据面流量及控制面资源带来多余的负担,因此建议您分批次逐步为集群中的工作负载开启此功能。