通过注释增加traefik入口超时设置

时间:2020-06-18 11:44:32

标签: kubernetes kubernetes-helm traefik traefik-ingress

我需要增加traefik入口超时,因为现在我收到499个错误。

当我使用Nginx作为入口代理时,能够使用这些注释:

appVersion: ..
kind: Ingress
...
metadata:
  annotations:
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "123"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "456"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "789"

但是现在我正努力寻找在特拉菲克(Traefik)做的替代方案。

那么增加我的入口读取,写入和连接值的注释是什么?

1 个答案:

答案 0 :(得分:1)

如果我没记错,那么您正在寻找当前不存在的功能,但是我发现了一个合适的功能请求:Feature: Timeout override per backend #3027

自2018年3月15日起处于开放状态。

但是,在同一主题中,我发现有很多有趣的信息可供您参考:

现在可以为v2中的每个入口点配置超时

https://docs.traefik.io/routing/entrypoints/#transport

因此,请参考Transport部分以获取最新信息,并不时查看上述功能请求。

respondingTimeouts¶responseingTimeouts是传入的超时 向Traefik实例的请求。设置它们对UDP无效 入口点。

1) transport.respondingTimeouts.readTimeout

可选,默认= 0s

readTimeout是读取整个请求(包括正文)的最大持续时间。

如果为零,则不存在超时。 可以以time.ParseDuration支持的格式或原始值(数字)提供。如果未提供单位,则以秒为单位解析该值。

## Static configuration
entryPoints:
  name:
    address: ":8888"
    transport:
      respondingTimeouts:
        readTimeout: 42

2) transport.respondingTimeouts.writeTimeout

可选,默认= 0s

writeTimeout是超时写入响应之前的最大持续时间。

它涵盖了从请求标头读取的结束到响应写入结束的时间。如果为零,则不存在超时。 可以以time.ParseDuration支持的格式或原始值(数字)提供。如果未提供单位,则以秒为单位解析该值。

## Static configuration
entryPoints:
  name:
    address: ":8888"
    transport:
      respondingTimeouts:
        writeTimeout: 42

3) transport.respondingTimeouts.idleTimeout

可选,默认为180秒

idleTimeout是空闲(保持活动状态)连接在关闭自身之前将保持空闲状态的最长时间。

如果为零,则不存在超时。 可以以time.ParseDuration支持的格式或原始值(数字)提供。如果未提供单位,则以秒为单位解析该值。

## Static configuration
entryPoints:
  name:
    address: ":8888"
    transport:
      respondingTimeouts:
        idleTimeout: 42

希望有帮助