当遇到控制平面向数据平面大量推送无关配置导致效率低下时,您可以借助自适应配置推送优化功能来提升控制平面的推送效率。通过分析服务间的实际调用关系,该功能自动为服务生成优化后的Sidecar资源,仅为必要的服务推送必需的Sidecar配置,减少不必要的网络通信,增强服务网格的性能和响应速度。
前提条件
背景信息
在默认情况下,由于不能确定网格内服务之间的调用依赖关系,Sidecar的配置中保存了数据平面内所有服务的信息。每次针对控制平面或数据平面的修改(例如在控制平面新建一条虚拟服务规则),都会导致控制平面向数据平面的所有Sidecar推送新的配置。
您可以通过开启自适应配置推送优化功能,为服务自动创建用于配置推送优化的Sidecar资源。功能开启后,集群中会部署名为istio-axds-egressgateway的出口网关,所有HTTP流量初始都将导向该出口网关,并通过网关记录的访问日志自动分析服务之间的依赖关系,无需您手动管理。关于应用Sidecar资源的配置推送优化效果,请参见应用Sidecar资源后的配置推送优化效果。
使用限制
ASM实例需为1.15.3.63及以上版本。关于升级实例的具体操作,请参见升级ASM实例。
自适应配置推送优化功能仅支持基于HTTP协议访问的服务。
步骤一:开启自适应配置推送优化功能
登录ASM控制台,在左侧导航栏,选择 。
在网格管理页面,单击目标实例名称,然后在左侧导航栏,选择 。
在自适应配置推送优化页面,打开启用自适应配置推送优化开关,在确认对话框,单击确定。
单击确定后,在启用自适应配置推送优化开关下方,会显示更新中。更新完毕后,您可以看到启用自适应配置推送优化开关已打开,在开关下方会显示可自适应优化的命名空间列表。
步骤二:为命名空间开启自适应配置推送优化
为命名空间开启自适应配置推送优化后,命名空间内的服务都将自动地进行基于Sidecar资源的配置推送优化。您也可以在服务的annotations
中增加asm.alibabacloud.com/asm-adaptive-xds: true
注解,单独为服务启用自适应配置推送优化。
登录ASM控制台,在左侧导航栏,选择 。
在网格管理页面,单击目标实例名称,然后在左侧导航栏,选择 。
在自适应配置推送优化页面的选择自适应优化命名空间列表,打开目标服务所在命名空间右侧的开关(本文以default为例),然后在确认对话框,单击确定。
在网格详情页面左侧导航栏,选择 。
在Sidecar流量配置页面,查看Sidecar资源详情。
您可以看到自动创建且名称以axds开头的Sidecar资源。每个Sidecar资源对应前提条件中已部署的Bookinfo应用中的一个服务。
步骤三:访问应用,触发自适应配置推送优化
获取入口网关的IP地址。具体操作,请参见获取入口网关地址。
在浏览器地址栏,输入
http://{入口网关的IP地址}/productpage
地址,访问Bookinfo应用。请将
{入口网关的IP地址}
替换为上一步获取的IP地址。查看自适应优化的Sidecar资源。
登录ASM控制台,在左侧导航栏,选择 。
在网格管理页面,单击目标实例名称,然后在左侧导航栏,选择 。
在Sidecar流量配置页面的axds-productpage右侧,单击操作列下方的查看YAML。
YAML示例如下。
apiVersion: networking.istio.io/v1beta1 kind: Sidecar metadata: annotations: adapted-svc: productpage.default.svc.cluster.local creationTimestamp: '2024-01-05T07:52:56Z' generation: 4 labels: asm-adaptive-xds-system: 'true' asm-system: 'true' provider: asm name: axds-productpage namespace: default resourceVersion: '23688435' uid: 753e3603-6bee-4dd1-b1fc-2e735a88**** spec: egress: - hosts: - arms-prom/* - default/details.default.svc.cluster.local - default/kubernetes.default.svc.cluster.local - default/reviews.default.svc.cluster.local - istio-system/* - kube-system/* workloadSelector: labels: app: productpage
可以看到在访问Bookinfo应用后,为优化
productpage
服务生成的Sidecar资源axds-productpage
,已经自适应地添加了productpage
服务所依赖的details
服务与reviews
服务,无需您手动配置。
相关操作
关闭自适应配置推送优化功能
登录ASM控制台,在左侧导航栏,选择 。
在网格管理页面,单击目标实例名称,然后在左侧导航栏,选择 。
在自适应配置推送优化页面,关闭启用自适应配置推送优化开关,在确认对话框,单击确定。
单击确定后,在启用自适应配置推送优化开关下方,会显示更新中。更新完毕后,您可以看到启用自适应配置推送优化开关已关闭。
在网格详情页面左侧导航栏,选择 。
您可以看到由自适应配置推送优化功能创建出的Sidecar资源已被删除。
修改出口网关配置
自适应配置推送优化功能开启后,ACK集群中会部署名为istio-axds-egressgateway的出口网关(可通过ACK控制台目标集群的
页面查看),所有HTTP流量初始都将导向该出口网关,并通过网关记录的访问日志自动分析服务之间的依赖关系。您可以根据实际需求修改出口网关的配置,以适应不同的流量压力。登录ASM控制台,在左侧导航栏,选择 。
在网格管理页面,单击目标实例名称,然后在左侧导航栏,选择 。
在自适应配置推送优化页面,单击出口网关配置页签,按需修改出口网关配置,然后单击更新设置。
单击更新设置后,服务网格进行短暂地更新。更新完毕后,您可以看到出口网关已更新为指定的配置。
说明ASM支持修改的出口网关配置包括出口网关资源设置、网关副本数、是否开启扩缩容HPA、网关扩缩容HPA的指标监控阈值、网关扩缩容HPA的最大副本数和最小副本数。