ingress-nginx 的常用注解
Annotations 中列出了 ingress-nginx 支持的 annotation,
后端超时设置
nginx.ingress.kubernetes.io/proxy-connect-timeout # 后端连接超时,默认 60 秒
nginx.ingress.kubernetes.io/proxy-send-timeout # 后端发送超时,默认 120 秒
nginx.ingress.kubernetes.io/proxy-read-timeout # 后端读取超时,默认 120 秒
后端重试设置
重试条件设置:
nginx.ingress.kubernetes.io/proxy-next-upstream # 默认 "error timeout"
proxy-next-upstream 是 nginx 的 标准指令,它定义了将请求转发另一个 upstream 的情况,支持以下的值,可以同时使用:
error
timeout
invalid_header
http_500
http_502
http_503
http_504
http_403
http_404
http_429
non_idempotent
off
重试超时设置:
nginx.ingress.kubernetes.io/proxy-next-upstream-timeout # 超时时间,默认 0 秒
nginx.ingress.kubernetes.io/proxy-next-upstream-tries # 重试次数,默认 3 次
请求缓存:
nginx.ingress.kubernetes.io/proxy-request-buffering # 缓存请求,默认 on
开启请求缓存时,ingress 暂存收到的客户端的请求,请求数据全部收齐后,再将请求转发给 upstream。
缓存区设置
请求缓冲区大小,默认为两个内存页面,通常是 8k 和 16k,超过的请求被写入临时文件暂存:
nginx.ingress.kubernetes.io/client-body-buffer-size "1000" # 默认 8k
客户端请求最大长度:
nginx.ingress.kubernetes.io/proxy-body-size # 默认 8m
响应数据缓冲区大小(从响应头读取的第一块数据大小),默认为 1 个页面,通常是 4k 和 8k:
nginx.ingress.kubernetes.io/proxy-buffer-size # 默认 4k