全部产品
Search
文档中心

服务网格 ASM:管理Envoy过滤器

更新时间:Jun 05, 2023

Envoy过滤器用于配置Envoy中的过滤条件、监听等信息,为服务网格控制面提供更强大的扩展能力。本文介绍如何创建、修改和删除Envoy过滤器。

注意事项

不同版本的ASM实例,创建Envoy过滤器方式不同:

  • 版本为v1.12.4.0-g7d140f10-aliyun及以上,您可以使用Envoy过滤器模板创建Envoy过滤器。

  • 版本为v1.12.4.0-g7d140f10-aliyun以下,请您将ASM实例升级至v1.12.4.0-g7d140f10-aliyun及以上版本,然后使用Envoy过滤器模板创建Envoy过滤器。关于升级ASM实例的具体操作, 请参见升级ASM实例

Envoy过滤器模板与Envoy过滤器关系

由于Envoy过滤器存在版本兼容性风险,自行创建Envoy过滤器对网格的升级与维护都造成了较大挑战。从ASM的v1.12.4.0-g7d140f10-aliyun版本开始,ASM支持通过管理Envoy过滤器模板来创建Envoy过滤器。在服务网格进行版本升级时,Envoy过滤器模板将根据适配的版本自动创建或变更对应的Envoy过滤器,从而控制Envoy过滤器的版本兼容风险,降低Envoy过滤器使用门槛。

创建Envoy过滤器模板后,您需要将Envoy过滤器模板绑定至指定的工作负载及命名空间,然后ASM会自动创建对应的Envoy过滤器。一个Envoy过滤器模板可以绑定多个工作负载和命名空间,您可以通过这种方式创建多个Envoy过滤器。

创建Envoy过滤器模板

  1. 登录ASM控制台,在左侧导航栏,选择服务网格 > 网格管理
  2. 网格管理页面,单击目标实例名称,然后在左侧导航栏,选择插件扩展中心 > Envoy过滤器模板,然后单击创建Envoy过滤器模板
  3. Envoy过滤器模板页面,单击创建Envoy过滤器模板

  4. 基本信息区域,输入Envoy过滤器模板的名称。

  5. 多版本适配Envoy过滤器模板区域,单击添加Envoy过滤器模板适配版本,选择适配Istio版本,输入适配该版本的Envoy过滤器内容,然后单击创建

    创建完成后,您可以在Envoy过滤器模板页面,查看已创建的Envoy过滤器模板。

绑定工作负载或命名空间

创建Envoy过滤器模板完成后,您需要将Envoy过滤器模板绑定至指定的工作负载或命名空间,从而使Envoy过滤器仅在指定工作负载或命名空间上生效。绑定工作负载或命名空间后,将自动创建Envoy过滤器。

绑定Envoy过滤器模板与工作负载

  1. 登录ASM控制台,在左侧导航栏,选择服务网格 > 网格管理
  2. 网格管理页面,单击目标实例名称,然后在左侧导航栏,选择插件扩展中心 > Envoy过滤器模板
  3. Envoy过滤器模板页面,单击目标Envoy过滤器模板右侧操作列下的编辑模板

  4. 编辑Envoy过滤器模板页面,单击绑定工作负载页签,然后单击选定工作负载绑定

  5. 选定工作负载绑定对话框,选择命名空间工作负载类型,单击未绑定区域目标工作负载右侧的绑定,然后单击确定

    在网格详情页面左侧导航栏,选择插件扩展中心 > Envoy过滤器。在Envoy过滤器页面,可以看到自动创建的Envoy过滤器。

绑定Envoy过滤器模板与命名空间

  1. 登录ASM控制台,在左侧导航栏,选择服务网格 > 网格管理
  2. 网格管理页面,单击目标实例名称,然后在左侧导航栏,选择插件扩展中心 > Envoy过滤器模板
  3. Envoy过滤器模板页面,单击目标Envoy过滤器模板右侧操作列下的编辑模板

  4. 编辑Envoy过滤器模板页面,单击绑定工作负载页签,然后单击绑定命名空间

  5. 绑定命名空间对话框的未绑定区域,单击目标命名空间的名称,单击确定

    说明

    如果您绑定的命名空间是istio-system,则会让EnvoyFilter全局生效,您已经创建的其它绑定都将自动解绑,因此您需要二次确认是否绑定istio-system。

    在网格详情页面左侧导航栏,选择插件扩展中心 > Envoy过滤器。在Envoy过滤器页面,可以看到自动创建的Envoy过滤器。

相关操作

修改Envoy过滤器

说明

仅支持修改通过自定义模板创建的Envoy过滤器,不支持修改通过预置模板创建的Envoy过滤器。在Envoy过滤器模板页面中显示为ASM插件的Envoy过滤器模板即为预置模板。

Envoy过滤器模板页面,单击目标Envoy过滤器模板右侧操作列下的编辑模板,修改配置参数,然后单击变更模板内容。修改Envoy过滤器模板后,将自动更新Envoy过滤器。

删除Envoy过滤器

  • 通过删除Envoy过滤器模板方式删除Envoy过滤器

    Envoy过滤器模板页面,单击目标Envoy过滤器模板右侧操作列下的删除,在弹出的对话框中单击确定。删除Envoy过滤器模板后,将自动删除Envoy过滤器。

  • 通过解绑Envoy过滤器模板与工作负载的方式删除Envoy过滤器

    Envoy过滤器模板页面,单击目标Envoy过滤器模板右侧操作列下的编辑模板,单击绑定工作负载页签,单击选定工作负载绑定,在选定工作负载绑定对话框单击解绑,然后单击确定。解绑Envoy过滤器模板与工作负载后,将自动删除对应的Envoy过滤器。

  • 通过解绑Envoy过滤器模板与命名空间的方式删除Envoy过滤器

    Envoy过滤器模板页面,单击目标Envoy过滤器模板右侧操作列下的编辑模板,单击绑定工作负载页签,单击绑定命名空间,在绑定命名空间对话框已绑定区域下单击命名空间名称,然后单击确定。解绑Envoy过滤器模板与命名空间后,将自动删除对应的Envoy过滤器。