活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 618智算钜惠季 爆款云主机2核4G限时秒杀,88元/年起!
  • 免费体验DeepSeek,上天翼云息壤 NEW 新老用户均可免费体验2500万Tokens,限时两周
  • 云上钜惠 HOT 爆款云主机全场特惠,更有万元锦鲤券等你来领!
  • 算力套餐 HOT 让算力触手可及
  • 天翼云脑AOne NEW 连接、保护、办公,All-in-One!
  • 中小企业应用上云专场 产品组合下单即享折上9折起,助力企业快速上云
  • 息壤高校钜惠活动 NEW 天翼云息壤杯高校AI大赛,数款产品享受线上订购超值特惠
  • 天翼云电脑专场 HOT 移动办公新选择,爆款4核8G畅享1年3.5折起,快来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

智算服务

打造统一的产品能力,实现算网调度、训练推理、技术架构、资源管理一体化智算服务
智算云(DeepSeek专区)
科研助手
  • 算力商城
  • 应用商城
  • 开发机
  • 并行计算
算力互联调度平台
  • 应用市场
  • 算力市场
  • 算力调度推荐
一站式智算服务平台
  • 模型广场
  • 体验中心
  • 服务接入
智算一体机
  • 智算一体机
大模型
  • DeepSeek-R1-昇腾版(671B)
  • DeepSeek-R1-英伟达版(671B)
  • DeepSeek-V3-昇腾版(671B)
  • DeepSeek-R1-Distill-Llama-70B
  • DeepSeek-R1-Distill-Qwen-32B
  • Qwen2-72B-Instruct
  • StableDiffusion-V2.1
  • TeleChat-12B

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场创新解决方案
办公协同
  • WPS云文档
  • 安全邮箱
  • EMM手机管家
  • 智能商业平台
财务管理
  • 工资条
  • 税务风控云
企业应用
  • 翼信息化运维服务
  • 翼视频云归档解决方案
工业能源
  • 智慧工厂_生产流程管理解决方案
  • 智慧工地
建站工具
  • SSL证书
  • 新域名服务
网络工具
  • 翼云加速
灾备迁移
  • 云管家2.0
  • 翼备份
资源管理
  • 全栈混合云敏捷版(软件)
  • 全栈混合云敏捷版(一体机)
行业应用
  • 翼电子教室
  • 翼智慧显示一体化解决方案

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
  • 天翼云EasyCoding平台
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼云东升计划
  • 适配中心
  • 东升计划
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
开放能力
  • EasyCoding敏捷开发平台
培训与认证
  • 天翼云学堂
  • 天翼云认证
魔乐社区
  • 魔乐社区

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 建议与反馈
  • 用户体验官
  • 服务保障
  • 客户公告
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 智算服务
  • 产品
  • 解决方案
  • 应用商城
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心
      文档中心

      应用服务网格

      应用服务网格

        • 产品动态与公告
        • 产品简介
        • 产品定义
        • 产品优势
        • 应用场景
        • 产品规格
        • 名词解释
        • 使用限制
        • 购买指南
        • 计费说明
        • 订购与退订
        • 欠费与续费说明
        • 快速入门
        • 入门概述
        • 创建应用服务网格实例
        • 部署bookinfo应用到CSM实例
        • 通过云原生网关访问bookinfo应用
        • 使用istio资源实现版本流量路由
        • 用户指南
        • 实例权限及标签管理
        • 网格管理
        • 网格列表
        • 全局Service管理
        • 全局命名空间
        • 网格状态
        • 网格诊断
        • 升级管理
        • 金丝雀升级
        • 访问网格CRD资源
        • sidecar管理
        • 安装Sidecar代理
        • 网格CNI插件
        • 集群与工作负载
        • 服务条目管理
        • 容器集群管理
        • Kubernetes服务管理
        • 服务列表
        • 服务基础信息
        • 服务版本管理
        • 服务访问方式
        • 服务流量管理
        • 流量管理中心
        • 虚拟服务
        • 目标规则
        • 本地限流
        • 流量标签
        • 全链路灰度
        • 概述
        • 全链路灰度实现原理
        • 泳道组及泳道管理
        • 全链路灰度功能体验
        • 路由级熔断
        • 全局限流
        • 高可用能力构建
        • 多协议治理
        • gRPC协议治理
        • Dubbo协议治理
        • 扩展中心
        • 服务网格数据面扩展概述
        • EnvoyFilter CRD说明
        • EnvoyFilterTemplate和EnvoyFilterTemplateBinding CRD说明
        • 使用自定义EnvoyFilter
        • 使用插件市场扩展网格能力
        • 内置插件说明
        • 调整代理请求和响应缓存大小插件
        • 调整HTTP请求头尺寸限制插件
        • 设置允许升级的协议连接插件
        • 设置http2的初始流量窗口大小插件
        • 解析JWT Payload的字段到请求头插件
        • 自定义错误页面插件
        • 自定义x-request-id操作插件
        • 直接响应插件
        • 增加HTTP响应头插件
        • 在访问日志中打印HTTP body插件
        • 在响应头中增加请求头信息插件
        • 保留请求与响应头部大小写插件
        • 网格安全中心
        • 网格安全概述
        • 工作负载身份
        • 对等身份认证
        • 请求身份认证
        • 授权策略
        • 自定义授权服务
        • CSM安全策略
        • CSM安全策略概述
        • OIDC单点登录
        • JWT认证策略
        • 黑白名单策略
        • 自定义授权服务策略
        • 授权控制示例
        • 自定义授权服务
        • 使用JWT认证授权
        • 使用OPA策略引擎实现访问控制
        • OPA策略
        • API审计
        • 可观测管理中心
        • 日志中心
        • 服务监控
        • 链路追踪
        • 网格优化中心
        • Sidecar资源
        • 自适应配置分发
        • 功能介绍及使用
        • 自适应配置分发优化效果
        • 服务发现范围
        • 数据面ebpf加速
        • 网关
        • 入口网关
        • 出口网关
        • 网关规则
        • 证书管理
        • API参考
        • API使用说明
        • 最佳实践
        • 应用服务网格配置建议
        • 使用云原生网关和应用服务网格实现全链路灰度发布
        • 应用服务网格对接Nacos注册中心
        • 使用SDK操作istio资源
        • 常见问题
        • 计费类
        • 操作类
        • 应用服务网格CSM控制面部署在哪里?
        • 应用服务网格CSM开通失败,提示xx资源已存在
        • 如何删除云容器引擎集群上处于Terminating状态的命名空间?
        • 为什么加入网格的pod停止时会有被调或者主调失败的情况?
        • 为什么目标规则配置不生效?
        • 多集群的命名空间是什么关系?
        • 服务网格对于Service的定义是否有要求?
        • sidecar内存持续升高有什么解决办法?
        • 为什么开通服务网格之后,网格控制面组件启动失败?
        • 为什么注入了sidecar,但是流量拦截没生效?
        • 如何开启服务网格IPv6功能?
        • 相关协议
        • 天翼云应用服务网格服务协议
        • 天翼云应用服务网格服务等级协议
          无相关产品

          本页目录

          帮助中心应用服务网格用户指南扩展中心EnvoyFilter CRD说明
          EnvoyFilter CRD说明
          更新时间 2025-02-21 10:11:28
          • 新浪微博
          • 微信
            扫码分享
          • 复制链接
          最近更新时间: 2025-02-21 10:11:28
          分享文章
          • 新浪微博
          • 微信
            扫码分享
          • 复制链接

          概述

          EnvoyFilter提供了定制化修改服务网格数据面配置的能力,通过EnvoyFilter可以实现修改某个数据面配置字段、添加或修改过滤器、监听器、集群等配置,功能十分强大,所以在使用改功能时必须小心,确保对数据面配置有比较深入的理解;错误的配置可能影响网格数据面的稳定性。

          对于任何数据面,允许存在多个EnvoyFilter匹配该数据面,位于根命名空间的EnvoyFilter优先级最高,其次是位于数据面所在的命名空间的EnvoyFilter。

          注意
          1. EnvoyFilter API和服务网格底层实现耦合较为紧密,在升级网格版本的时候需要关注已经定义的EnvoyFilter版本和新版本的网格是否存在兼容性问题

          2. 多个EnvoyFilter匹配同一个数据面时,生效的优先级为根命名空间下的EnvoyFilter优先级最高,其他的按照创建时间顺序生效;如果EnvoyFilter之间存在冲突,结果是未定义的

          3. 需要配置EnvoyFilter匹配不同的工作负载时(比如网关和sidecar),可以考虑在根命名空间下定义,且不配置workloadselector

          配置示例

          配置示例一

          在根命名空间下创建全局生效的EnvoyFilter,在sidecar outbound方向9307端口的tcp proxy插件之前插入mongo的代理配置;为所有数据面(网关和sidecar)的HttpConnectionManager插件配置HTTP空闲连接时间为30秒。

          apiVersion: networking.istio.io/v1alpha3
          kind: EnvoyFilter
          metadata:
            name: custom-protocol
            namespace: istio-system # as defined in meshConfig resource.
          spec:
            configPatches:
            - applyTo: NETWORK_FILTER
              match:
                context: SIDECAR_OUTBOUND # will match outbound listeners in all sidecars
                listener:
                  portNumber: 9307
                  filterChain:
                    filter:
                      name: "envoy.filters.network.tcp_proxy"
              patch:
                operation: INSERT_BEFORE
                value:
                  # This is the full filter config including the name and typed_config section.
                  name: "envoy.extensions.filters.network.mongo_proxy"
                  typed_config:
                    "@type": "type.googleapis.com/envoy.extensions.filters.network.mongo_proxy.v3.MongoProxy"
                    ...
            - applyTo: NETWORK_FILTER # http connection manager is a filter in Envoy
              match:
                # context omitted so that this applies to both sidecars and gateways
                listener:
                  filterChain:
                    filter:
                      name: "envoy.filters.network.http_connection_manager"
              patch:
                operation: MERGE
                value:
                  name: "envoy.filters.network.http_connection_manager"
                  typed_config:
                    "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager"
                    common_http_protocol_options:
                      idle_timeout: 30s
          
          

          配置示例二

          为bookinfo命名空间下匹配标签app: reviews的工作负载下发自定义配置,在sidecar入站方向HttpConnectionManager中的最后一个Router插件之前插入lua插件,在收到请求后会执行lua代码调用一个外部授权服务;这个外部授权服务通过一个外部域名标识,也通过配置下发到数据面

          apiVersion: networking.istio.io/v1alpha3
          kind: EnvoyFilter
          metadata:
            name: reviews-lua
            namespace: bookinfo
          spec:
            workloadSelector:
              labels:
                app: reviews
            configPatches:
              # The first patch adds the lua filter to the listener/http connection manager
            - applyTo: HTTP_FILTER
              match:
                context: SIDECAR_INBOUND
                listener:
                  portNumber: 8080
                  filterChain:
                    filter:
                      name: "envoy.filters.network.http_connection_manager"
                      subFilter:
                        name: "envoy.filters.http.router"
              patch:
                operation: INSERT_BEFORE
                value: # lua filter specification
                 name: envoy.filters.http.lua
                 typed_config:
                    "@type": "type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua"
                    defaultSourceCode:
                      inlineString: |
                        function envoy_on_request(request_handle)
                          -- Make an HTTP call to an upstream host with the following headers, body, and timeout.
                          local headers, body = request_handle:httpCall(
                           "lua_cluster",
                           {
                            [":method"] = "POST",
                            [":path"] = "/acl",
                            [":authority"] = "internal.org.net"
                           },
                          "authorize call",
                          5000)
                        end
            # The second patch adds the cluster that is referenced by the lua code
            # cds match is omitted as a new cluster is being added
            - applyTo: CLUSTER
              match:
                context: SIDECAR_OUTBOUND
              patch:
                operation: ADD
                value: # cluster specification
                  name: "lua_cluster"
                  type: STRICT_DNS
                  connect_timeout: 0.5s
                  lb_policy: ROUND_ROBIN
                  load_assignment:
                    cluster_name: lua_cluster
                    endpoints:
                    - lb_endpoints:
                      - endpoint:
                          address:
                            socket_address:
                              protocol: TCP
                              address: "internal.org.net"
                              port_value: 8888
          
          

          配置示例三

          为根命名空间下匹配istio: ingressgateway标签的网关下发自定义配置,当请求sni是app.example.com时给HttpConnectionManager配置HTTP空闲连接时间和XFF信任的跳数

          apiVersion: networking.istio.io/v1alpha3
          kind: EnvoyFilter
          metadata:
            name: hcm-tweaks
            namespace: istio-system
          spec:
            workloadSelector:
              labels:
                istio: ingressgateway
            configPatches:
            - applyTo: NETWORK_FILTER # http connection manager is a filter in Envoy
              match:
                context: GATEWAY
                listener:
                  filterChain:
                    sni: app.example.com
                    filter:
                      name: "envoy.filters.network.http_connection_manager"
              patch:
                operation: MERGE
                value:
                  typed_config:
                    "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager"
                    xff_num_trusted_hops: 5
                    common_http_protocol_options:
                      idle_timeout: 30s
          
          

          配置说明

          EnvoyFilter

          字段 类型 必选 说明
          workloadSelector WorkloadSelector N 用于选择匹配的工作负载
          configPatches EnvoyConfigObjectPatch[] N 需要下发到数据面的配置
          priority int N 优先级定义,可用于处理个EnvoyFilter匹配同一个工作负载,且EnvoyFilter之间存在依赖关系的场景
          1. 默认的生效顺序为根命名空间 > 工作负载命名空间,在一个EnvoyFilter内的多个patch按照定义的顺序生效
          2. 如果优先级为负,则在默认生效规则之前生效,如果为正则在默认生效规则之后生效
          3. 建议优先级定义时保留足够的间隔,用于插入新的补丁

          EnvoyFilter.EnvoyConfigObjectPatch

          字段 类型 必选 说明
          applyTo ApplyTo N 匹配的位置,可选值包括LISTENER, FILTER_CHAIN, NETWORK_FILTER, HTTP_FILTER, ROUTE_CONFIGURATION, VIRTUAL_HOST, HTTP_ROUTE, CLUSTER, EXTENSION_CONFIG, LISTENER_FILTER
          match EnvoyConfigObjectMatch N 匹配条件
          patch Patch N 补丁定义

          EnvoyFilter.EnvoyConfigObjectMatch

          Envoy过滤器匹配条件

          字段 类型 必选 说明
          context PatchContext N 匹配的上下文,支持取值包括
          ANY:匹配所有流量场景
          SIDECAR_INBOUND:匹配sidecar入站方向流量
          SIDECAR_OUTBOUND:匹配sidecar出站方向流量
          GATEWAY:匹配网关场景
          proxy ProxyMatch N 匹配数据面代理的版本、元数据等信息
          listener ListenerMatch (oneof) N 监听器匹配
          routeConfiguration RouteConfigurationMatch (oneof) N 路由匹配
          cluster ClusterMatch (oneof) N 集群匹配

          EnvoyFilter.ProxyMatch

          字段 类型 必选 说明
          proxyVersion string N 基于正则表达式匹配数据面代理版本
          metadata map<string, string> N 匹配数据面代理的元数据

          EnvoyFilter.ListenerMatch

          字段 类型 必选 说明
          portNumber uint32 N 匹配监听器的端口号,不指定的话匹配所有端口
          filterChain FilterChainMatch N 匹配特定filterchain
          listenerFilter string N 基于名字匹配监听器过滤器
          name string N 基于名字匹配监听器

          EnvoyFilter.ListenerMatch.FilterChainMatch

          存在多个filter chain的情况下可以用于匹配特定filter chain

          字段 类型 必选 说明
          name uint32 N filter chain名称
          sni string N 匹配sni名称
          transportProtocol string N 仅对SIDECAR_INBOUND生效,支持tls和raw_buffer
          applicationProtocols string N 匹配的应用层协议,仅对sidecar生效,支持h2, http/1.1, http/1.0
          filter FilterMatch N filter匹配条件
          destinationPort uint32 N 匹配的目标端口

          EnvoyFilter.ListenerMatch.FilterMatch

          字段 类型 必选 说明
          name string N 匹配过滤器名字
          subFilter SubFilterMatch N subfilter匹配

          EnvoyFilter.ListenerMatch.SubFilterMatch

          字段 类型 必选 说明
          name string N 匹配subfilter名字

          EnvoyFilter.RouteConfigurationMatch

          字段 类型 必选 说明
          portNumber uint32 N 匹配服务的端口号
          portName string N 进队GATEWAY场景生效,匹配端口名称
          gateway string N 匹配网关,namespace/gatewayName格式
          vhost VirtualHostMatch N 匹配虚拟服务
          name string N 匹配特地路由名称

          EnvoyFilter.RouteConfigurationMatch.VirtualHostMatch

          字段 类型 必选 说明
          name string N 匹配的虚拟服务名称
          route RouteMatch N 匹配虚拟服务下特定的路由

          EnvoyFilter.RouteConfigurationMatch.RouteMatch

          字段 类型 必选 说明
          name string N 匹配路由名称
          action Action N 匹配路由类型,支持
          ANY:所有类型
          ROUTE:普通路由
          REDIRECT:重定向路由
          DIRECT_RESPONSE:mock路由

          EnvoyFilter.ClusterMatch

          字段 类型 必选 说明
          portNumber uint32 N 匹配服务的端口
          service string N 匹配服务FQDN名称
          subset string N 匹配服务分组名
          name string N 匹配服务cluster名称
          文档反馈

          建议您登录后反馈,可在建议与反馈里查看问题处理进度

          鼠标选中文档,精准反馈问题

          选中存在疑惑的内容,即可快速反馈问题,我们会跟进处理

          知道了

          上一篇 :  服务网格数据面扩展概述
          下一篇 :  EnvoyFilterTemplate和EnvoyFilterTemplateBinding CRD说明
          搜索 关闭
          ©2025 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
          公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
          备案 京公网安备11010802043424号 京ICP备 2021034386号
          ©2025天翼云科技有限公司版权所有
          京ICP备 2021034386号
          备案 京公网安备11010802043424号
          增值电信业务经营许可证A2.B1.B2-20090001
          用户协议 隐私政策 法律声明