【已解决】k8s服务报504网关超时

场景

.线上服务偶尔报 504 Gateway timeout,一般在量大的时候出现。

原因

线上服务运行在 k8s 集群中,集群使用了 Istio ,Istio 的 Envoy 代理等待目标服务返回的超时时间默认值为 15 秒,这里使用的 Istio 版本为 Istio-v1.1.5,其他版本自行测试。

解决方法

在 Istio 的虚拟服务中添加超时设置,调整为 30 秒,如下:

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: reviews
spec:
  hosts:
  - reviews
  http:
  - route:
    - destination:
        host: reviews
        subset: v2
    timeout: 30s

参考链接

Istio 默认超时

updatedupdated2021-02-182021-02-18