我正在检查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中进行配置?怎么样?
答案 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请求超时。