概述
服务网格支持通过可视化界面方式管理EnvoyFilterTemplate和EnvoyFilterTemplateBinding;EnvoyFilterTemplate定义了Envoy过滤器模板,包含了一组过滤器以及匹配的istio版本信息等;EnvoyFilterTemplateBinding定义了过滤器模板的绑定信息,支持将EnvoyFilterTemplate绑定到具体的工作负载上,最终生成EnvoyFilter下发到数据面;它们之间的关系如下:
操作说明
定义EnvoyFilterTemplate
- 进入服务网格控制台 -> 插件扩展中心 -> Envoy过滤器模板 -> 创建Envoy过滤器模板
- 按要求输入Envoy过滤器模板名称
- 一个Envoy过滤器模板可以包含多个适配不同isito版本的配置,可以通过 创建Envoy过滤器模板适配版本 选项添加新的适配版本
- 定义EnvoyFilter
注意
同一个Envoy过滤器模板中多个适配版本时间的版本范围不能重叠
用户自定义的Envoy过滤器模板可以编辑更新EnvoyFilter内容,对于来自内置插件创建的Envoy过滤器模板,不能更新EnvoyFilter的内容
Envoy过滤器模板绑定
服务网格支持将Envoy过滤器模板绑定到K8s命名空间、Service、Deployment,实现命名空间、服务和工作负载级别的绑定
- 进入服务网格控制台 -> 插件扩展中心 -> Envoy过滤器模板,在创建Envoy过滤器模板或者编辑已有过滤器模板页面下方可以看到当前过滤器模板绑定信息
- 绑定命名空间:点击 绑定命名空间 -> 选择要绑定的命名空间 并保存
- 绑定服务:点击 绑定服务 -> 选择命名空间和服务 并保存
- 绑定工作负载:点击 绑定工作负载 -> 选择要绑定的集群、命名空间和工作负载名称 并保存
注意
如果要绑定的从集群的命名空间不在绑定选择列表里,可以先使用全局命名空间同步功能将从集群命名空间同步到主集群
如果要绑定的从集群目标服务不在列表中,先用全局服务管理将从集群服务同步至主集群
绑定从集群工作负载时,需要保证从集群的命名空间在主集群中存在,如果不存在则使用全局命名空间管理同步
Envoy过滤器模板中定义的过滤器的版本范围完全覆盖预期绑定的istio版本范围时才能生成对应的Envoy过滤器
其他操作
查看生成的EnvoyFilter
进入服务网格控制台 -> 插件扩展中心 -> Envoy过滤器,选择命名空间后可以看到当前命名空间下的EnvoyFilter列表;
对于通过Envoy过滤器模板和绑定关系生成的EnvoyFilter在来源一栏显示为系统创建,此类EnvoyFilter只支持查看,不支持修改
用户直接定义EnvoyFilter
服务网格支持用户直接定义EnvoyFilter,进入服务网格控制台 -> 插件扩展中心 -> Envoy过滤器 -> 使用YAML创建;
对于用户自定义的EnvoyFilter,支持用户编辑、删除以及基于当前EnvoyFilter创建Envoy过滤器模板的操作。