GKE集群上带有NAT(和路由器)的pod的出站连接问题



我正试图调查随机"对等连接重置"错误或长时间(最多2分钟(PDO连接初始化的问题,但未能找到解决方案。

类似问题:https://kubernetes.io/blog/2019/03/29/kube-proxy-subtleties-debugging-an-intermittent-connection-reset/,但这应该在我运行的kubernetes版本中得到修复。

GKE配置详细信息:GKE运行于1.20.12-GKE.1500版本,具有NAT网络配置和路由器。集群有2个节点,路由器有2个静态IP,通过动态端口分配分配,每个VM的端口范围为32728-65536个。

在kubernetes上:

  • 部署:带有本地nginx、php-fpm和google-sql代理的docker镜像
  • services:LoadBalancer以公开部署

根据问题的复制,我创建了一个简单的脚本,在循环中连接到数据库,并进行简单的计数查询。我通过在独立的GCE虚拟机上测试脚本消除了数据库服务器的问题,在那里我没有遇到任何问题。当我在集群中的任何应用程序pod上运行脚本时,我都会收到随机的"对等连接重置"错误。我已经使用谷歌sql代理服务或直接数据库IP测试了该脚本,但存在相同的随机连接问题。

如有任何帮助,我们将不胜感激。

更新

Onhttps://cloud.google.com/kubernetes-engine/docs/release-notes我可以看到,已经发布了修复程序来解决我得到的潜在问题:";以下GKE版本修复了一个已知问题,即使用Docker(cos(的Container Optimized OS的GKE节点可能会发生随机TCP连接重置。要解决此问题,请将您的节点升级到以下任何版本:;

我今晚更新节点,所以我希望这能解决问题。

更新

节点的更新解决了随机连接重置问题。

使用谷歌云面板将集群和节点更新到1.20.15-gke.3400版本解决了问题。

最新更新