具有套接字连接的 kubernetes pod 不会触发“关闭”事件

具有套接字连接的 kubernetes pod 不会触发“关闭”事件

我有一个 Kubernetes 部署,其中一个 pod 通过 TCP 套接字连接到客户端。连接和断开连接时会发生不同的事件。在开发环境中,服务器可以响应连接、数据和结束,但在生产环境中,它只注册连接和数据。这可能是什么原因造成的?以下是连接断开后 pod 内部 netstat -natp 的输出。端口 8081 是套接字服务器。连接最终会自行超时。

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 X.244.0.88:43698        X.106.38.107:5672       ESTABLISHED 1/node
tcp6       0      0 :::8080                 :::*                    LISTEN      1/node
tcp6       0      0 :::8081                 :::*                    LISTEN      1/node
tcp6       0      0 X.244.0.88:8081         X.244.0.1:45016         ESTABLISHED 1/node

答案1

在开发环境中,我通过关闭客户端应用程序来模拟断开的连接。这实际上是启动 FIN 数据包序列/从客户端触发“结束”事件。解决方案是在服务器端为保持活动值添加默认时间。

相关内容