功能介绍
自适应配置推送优化通过自动收集envoy的accesslog的方式,自动分析应用间的调用依赖,为数据平面的工作负载应用Sidecar资源来实现配置推送优化。自适应配置推送优化特点如下:
- 自适应配置推送优化功能将自动、自适应地为您选中的工作负载应用Sidecar资源。您无需对Sidecar资源进行手动的应用或更新操作。当服务的依赖关系发生变化时,也无需进行Sidecar资源的重新推荐。开启自适应配置推送优化功能后,Sidecar资源将会根据集群中被选中的工作负载自动生成。
- 自适应配置推送优化功能不需要您开启使用日志服务采集数据平面的访问日志。
- 自适应配置推送优化功能初始仅对sidecar推送istio-system和mesh-operator命名空间下的配置。控制面新增部署一个global-sidecar组件,该组件保存全量配置,当数据面请求产生时,如果没有查到对端的配置信息,会由该组件兜底转发流量。当数据面应用产生初次访问后,会自动更新Sidecar资源给发起方应用。
关于自适应配置推送优化的更多信息,请参考自适应配置分发优化效果。
适用场景
自适应配置推送优化功能将自适应地为您的工作负载创建Sidecar资源,无需预先梳理应用间的调用关系。适用于不熟悉Sidecar资源及配置推送优化的相关概念的管理者。
自适应配置推送优化功能在控制面进行日志上报以及服务依赖计算。开启该功能后,可能在短时间内为您网格的数据面流量及控制面资源带来多余的负担,因此建议您在负载较低的时段开启此功能。
如何使用
当遇到控制平面向数据平面大量推送无关配置导致效率低下时,您可以借助自适应配置推送优化功能来提升控制平面的推送效率。通过分析服务间的实际调用关系,该功能自动为服务生成优化后的Sidecar资源,仅为必要的服务推送必需的Sidecar配置,减少不必要的网络通信,增强服务网格的性能和响应速度。
前提条件
已部署Istio资源实现流量路由,可参考快速入门-使用istio资源实现版本流量路由。
背景信息
由于无法确定数据平面内所有工作负载与服务之间的关系,服务网格数据平面内的所有Sidecar都默认保存所有服务信息的全量配置。这种情况下网格内的所有Sidecar可能会保留大量无需访问的节点配置,内存消耗过高。同时,一条配置的改动也会广播给所有服务,导致cpu开销过高。
您可以通过开启自适应配置推送优化功能,为服务自动创建用于配置推送优化的Sidecar资源。功能开启后,应用服务网格通过自动收集envoy的accesslog的方式,自动分析应用间的调用依赖,为数据平面的工作负载应用Sidecar资源来实现配置推送优化,无需您手动管理。关于应用Sidecar资源的配置推送优化效果,请参见自适应配置分发优化效果。
使用限制
自适应配置推送优化功能仅支持基于HTTP协议访问的服务。
使用步骤
步骤一:开启自适应配置推送优化功能
登录应用服务网格控制台,在首页网格列表中选中目标实例。
在网格管理页面左侧导航栏,选择 网格优化中心 > 自适应配置下发 。
在自适应配置下发页面,点击开启自适应配置下发 。
更新完毕后,您可以看到自适应配置下发开关已打开,再次点击则为关闭该功能。下方会显示所有已经自动纳入自适应配置的服务以及其所属的命名空间。如下图所示:
注意目前只有主集群的服务可以被自动纳入。
- 如果从集群有命名空间不在主集群中,您需要手动点击右上角命名空间右侧问号,选择手工添加命名空间。
- 如果从集群中有服务不在主集群中,您需要手动点击右上角搜索框右侧问号,选择手工添加服务。
步骤二 :访问应用,触发自适应配置推送优化
- 部署bookinfo相关应用。部署后可以在网格优化中心 > Sidecar资源中看到这些应用已经默认生成了Sidecar资源,并且仅下发istio-system和mesh-operator的配置。
- 通过云原生网关发起请求到productpage。具体步骤可以参考通过云原生网关访问bookinfo应用,或者通过ingressgateway访问,或者在集群内执行curl 访问productpage。
- 首次访问成功后,在网格优化中心 > Sidecar资源中查看productpage已经追加reviews,details等服务的配置。无需您手工配置。
相关操作
关闭自适应配置推送优化功能
- 登录应用服务网格控制台,在首页网格列表中选中目标实例。
- 在网格管理页面左侧导航栏,选择 网格优化中心 > 自适应配置下发。
- 在自适应配置下发页面,点击关闭 自适应配置下发。
- 切换到网格优化中心 > Sidecar资源页面查看Sidecar资源列表。
- 您可以看到创建来源为“系统”的Sidecar资源已被删除。