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

时间:2019-04-04 22:04:33

标签: kubernetes istio circuit-breaker

我正在检查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中进行配置?怎么样?

1 个答案:

答案 0 :(得分:0)

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

  

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

因此,您必须在http.timeout配置中设置VirtualService。 从Virtual Service / Destination官方文档中查看以下示例:

  

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

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请求超时。