Istio - TrafficeManagement - Match

简介: 在Route中最重要的字段是条件字段Match,为一个MatchRequest类型的数组,表示请求满足条件,支持将HTTP属性如uri、scheme、method、authority、port等作为条件来匹配请求。

在Route中最重要的字段是条件字段Match,为一个MatchRequest类型的数组,表示请求满足条件,支持将HTTP属性如uri、scheme、method、authority、port等作为条件来匹配请求。


一个URL的完整格式是:URI=scheme:[//authority]path[?query][#fragment]

实际上authority的标准定义是:authority=[userinfo@]host[:port]


## authority

1. uri、scheme、method、authority:4个字段都是StringMatch类型,在匹配请求时都支持exact、prefix和regex三种模式的匹配

2. headers:匹配请求中的Header,是一个map类型。map的key是字符串类型,value是StringMatch类型。即对于每一个Header的值,都可以使用精确、前缀和正则三种方式进行匹配。

3. port:表示请求服务的端口。大部分服务只开放一个端口,这也是在微服务中推荐的做法,在这种场景下可以不指定port。

4. sourceLabels:是一个map类型的键值对,表示请求来源负载匹配标签。这在很多情况有用,可以对一组服务都打一个相同的标签,然后使用sourceLabels字段对这些服务实施相同的流量规则。在Kubernetes平台上,这里的Label就是Pod上的标签。

5. gateway:表示规则应用的Gateway名称,语义同VirtualService 上面的gateway定义,是一个更细的Match条件,会覆盖在VirtualService上配置的gateway。


apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:   name: web-vs
  namespace: demo
spec:  hosts:  - "*"  gateways:  - web-gateway
  http:  - match:    - headers:         location:  exact: hongkong
      uri:        prefix: /test
    - uri:        prefix: /api/health
    route:     - destination:        host: httpd-service


# 匹配到header的location是hongkong并且请求 /test,或者uri 为 /api/health 开头的请求

目录
相关文章
|
编解码 Java 编译器
【Protobuf】Protobuf中的Message语法规范
在Message中定义一个或者多个字段,FieldType是字段的数据类型,可以是基本类型(如int32、string、bool等)或其他定义的Message类型。fieldName是字段的名称,可以根据需求自定义。fieldNumber是字段的唯一标识号,用于在消息的二进制编码中标识字段。
1125 0
|
监控 机器人 Python
Zabbix实现钉钉群告警
Zabbix实现钉钉群告警
|
JavaScript
Element el-radio 单选框详解
本文目录 1. 用途 2. 单选框 3. 单选框样式 4. 单选框组 4. 单选框组样式 5. 尺寸调节 6. 绑定值变化事件 7. 小结
2095 0
Element el-radio 单选框详解
|
算法
【MATLAB】语音信号识别与处理:高斯加权移动平均滤波算法去噪及谱相减算法呈现频谱
【MATLAB】语音信号识别与处理:高斯加权移动平均滤波算法去噪及谱相减算法呈现频谱
681 0
|
存储 JavaScript UED
在 Vue 组件中动态切换全局样式
【10月更文挑战第5天】
346 1
|
SQL 分布式计算 运维
如何优化超长定时任务:慢节点优化实践
本文介绍了一个复杂的ODPS任务优化过程。通过对任务耗时卡点的分析,发现主要问题是数据倾斜和join任务资源不足。通过提高join任务资源分配、对空值加随机值打散、视图物化落表、节点拆分、前置裁剪和使用Distributed Mapjoin等方法,成功将宽表产出时间从下午一点提前到早上八点半,节省了4小时以上。优化过程中还拆分了宽表节点,降低了回刷成本。文章强调了在设计开发初期应避免代码耦合度过高,以提高代码运行效率和可维护性。
360 0
|
安全 网络安全 CDN
阿里云CDN HTTPS 证书配置流程
阿里云CDN HTTPS 证书配置流程
1890 1

热门文章

最新文章