繁体   English   中英

Istio RouteRules无法一起使用

[英]Istio RouteRules doesn't work together

我有两个Istio RouteRule用于httpDelay

apiVersion: config.istio.io/v1alpha2
kind: RouteRule
metadata:
  name: foo-delay
spec:
  destination:
    name: foo-server
  precedence: 5
  route:
  - labels:
      serving: "true"
  httpFault:
    delay:
      fixedDelay: 7.000s
      percent: 100

对于httpReqTimeout

apiVersion: config.istio.io/v1alpha2
kind: RouteRule
metadata:
  name: foo-timeout-default
spec:
  destination:
    name: foo-server
  route:
  - labels:
      serving: "true"
  httpReqTimeout:
    simpleTimeout:
      timeout: 5s
  precedence: 3

但是,我无法使这两个RouteRules一起工作。 对于此配置,我对foo-server有延迟,但请求超时不起作用,因此我从foo-server接收数据。 我试图更改httpDelay规则precedence: 2 在这种情况下,根本不会有任何延迟,并且我认为httpReqTimeout可以正常工作。 在这两种情况下,我都可以看到创建了两个规则:

>istioctl get routerules
NAME                KIND                    NAMESPACE
foo-delay           RouteRule.v1alpha2.config.istio.io  default
foo-timeout-default RouteRule.v1alpha2.config.istio.io  default

为什么这两个RouteRules不能一起使用?

这里发生两件事。 Istio中的RouteRule“优先级”不会推断出合并。 因此,具有最高优先级和匹配条件的规则将首先匹配,而其他所有规则都将被特使代理忽略。 此外,即使将这两个规则合并为一个规则,不幸的是,特使无法处理这种情况。 编写使节以使错误在任何超时/重试之前适用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM