You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Kubernetes TCP长连接提前断开 如何配置30分钟超时阈值

解决方案

首先要明确:你通过helm --set tcp.8485=xxx方式暴露的TCP服务,普通Ingress资源的注解不会生效,这类配置需要直接调整ingress-nginx控制器的全局TCP代理参数,按以下步骤调整即可:

1. 调整ingress-nginx的TCP超时配置

重新升级你的ingress-nginx helm release,新增TCP代理超时相关参数:

helm upgrade nginx-ingress ingress-nginx/ingress-nginx \
    --set tcp.8485="default/device-gateway:8485" \
    --set configmap.tcp-proxy-timeout="1800s" \
    --set configmap.enable-tcp-keepalive="on" \
    --set configmap.tcp-keepalive-time="300" \
    --set configmap.tcp-keepalive-intvl="60" \
    --set configmap.tcp-keepalive-probes="5" \
    # 保留你之前的其他无关配置参数

参数说明:

  • tcp-proxy-timeout:TCP连接无数据流量时的超时时间,直接设为1800s(30分钟)匹配你的需求
  • 开启TCP keepalive相关参数可以主动探测连接有效性,避免中间网络设备静默掐断空闲连接

2. 确认后端服务的TCP超时配置

检查你的device-gateway应用本身的TCP空闲超时设置,确保应用层面没有设置小于30分钟的连接断开逻辑,同时建议在应用层面也开启TCP keepalive。

3. 验证配置生效

升级完ingress-nginx后,检查ingress-nginx的ConfigMap配置是否正确写入:

kubectl get configmap nginx-ingress-controller -o yaml | grep -i tcp

之后用移动端设备发起长连接测试,验证10分钟后连接不会被断开即可。


内容的提问来源于stack exchange,提问作者HansElsen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 04:06:06