Istio是否允许配置断路器打开的最大响应超时?怎么样?

问题描述 投票:1回答:1

我正在检查documentation for the DestinationRule,其中有几个断路配置的例子,例如:

apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: bookinfo-app
spec:
  host: bookinfoappsvc.prod.svc.cluster.local
  trafficPolicy:
    connectionPool:
      tcp:
        connectTimeout: 30ms
          ...

connectionPool.tcp元素提供connectTimeout。但是我需要配置的是最大响应超时。想象一下,如果服务的响应时间超过5秒,我想打开电路。可以在Istio中配置吗?怎么样?

kubernetes istio circuit-breaker
1个回答
1
投票

看看Tasks --> Traffic Management --> Setting Request Timeouts:

可以使用route rule的超时字段指定http请求的超时。默认情况下,超时为15秒[...]

因此,您必须在http.timeout配置中设置VirtualService。看一下Virtual Service / Destination官方文档中的这个例子:

对于Kubernetes中对productpage.prod.svc.cluster.local服务的所有调用,以下VirtualService设置超时5秒。

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: my-productpage-rule
  namespace: istio-system
spec:
  hosts:
  - productpage.prod.svc.cluster.local # ignores rule namespace
  http:
  - timeout: 5s
    route:
    - destination:
        host: productpage.prod.svc.cluster.local

http.timeout: HTTP请求超时。

© www.soinside.com 2019 - 2024. All rights reserved.