♬水星 摩羯windows
你可以提条件,但不可以不接受!
关注数: 48 粉丝数: 205 发帖数: 7,929 关注贴吧数: 62
技术交流,如何避免ingress-nginx触发reload导至长连接中断 最近在甲方驻场的时候甲方esb网关那边反馈在开市时间点网关访问我们信创k8s集群ingress域名出现了一波502,而且是所有域名都有出现,通过查看ingress日志确实是一些502记录,request_time和upstream_response_time时间一致,开始怀疑是不是开市的时候,服务器压力大导致后端的pod超时了,但是网关代理过来的域名都超时了,也不太可能所有的pod都有问题,只好抓包分析了一波。 通过抓包分析得出结论网关访问ingress过程中,ingress主动reset了连接,怀疑ingress是不是触发了reload,翻了一下历史日志,果然在触发502的时间点,ingress-nginx有一条reload记录,赶紧登录到集群,get ingress找到了一条ingress变更时间和502时间一致,可以判定用户修改了ingress配置,导致了ingress-nignx-controller触发了reload机制。 因为我们是云平台,允许用户自己增删改查ingress资源,且有差不多300多个用户在使用,如果频繁的出现reload,会变得不可控,于是我们查询了一些相关文档,也问了一下deepseek,想通过配置nginx优雅退出来进行缓解,ingress默认的时间是240s,尝试改到600s ,在测试环境进行压测,长连接还是会触发502,尝试多次调整keepalive和time_out相关配置,进行压测,均无法做到优雅关闭。和甲方客户进行了反馈,是不是可以采用其他方案,将ingress-nginx替换成envoy ingress,甲方领导反馈只有长连接会触发,且生产环境变更并不频繁,暂时不考虑替换方案。在群里f发布了公告不允许开市时间操作之后就搁置了。 不知道各位大佬在生产环境中有没有遇到过类似的问题。解决方案是什么。
1 下一页