【发布时间】:2020-12-24 12:54:31
【问题描述】:
我在 GKE 上有一个集群,我的一个部署运行 tornado Web 应用程序来接收 http 请求。 此部署由 LoadBalancer 公开。 我向 LoadBalancer ip 发送了一个简单的 http 请求,该请求必须在服务器端运行约 10 分钟。 整整 5 分钟后,我得到:
requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))
我试过了:
- 在我的计算机(客户端和服务器)上使用本地通信,但尚未重置。
- 我直接将 kubectl 端口转发到了部署(本地客户端 -> kubectl 端口转发 -> 部署 -> 服务器),并且没有重置连接。 所以基本上我很确定它在负载平衡器方面。
- 我用这个配置做了一个后端配置:
apiVersion: cloud.google.com/v1beta1
kind: BackendConfig
metadata:
name: my-bsc-backendconfig
spec:
timeoutSec: 3600
我的负载均衡器是这样配置的:
apiVersion: v1
kind: Service
metadata:
annotations:
cloud.google.com/backend-config: '{"ports": {"5000":"my-bsc-backendconfig"}'
creationTimestamp: "2020-12-24T10:08:54Z"
finalizers:
- service.kubernetes.io/load-balancer-cleanup
labels:
name: wesnapp-flask
name: wesnapp-flask-service
namespace: default
resourceVersion: "14652233"
selfLink: /api/v1/namespaces/default/services/wesnapp-flask-service
uid: a922e9cb-4702-481f-b1a9-e09df1653ff7
spec:
clusterIP: 10.64.9.113
externalTrafficPolicy: Cluster
ports:
- nodePort: 31429
port: 5000
protocol: TCP
targetPort: 5000
selector:
name: wesnapp-flask
sessionAffinity: None
type: LoadBalancer
status:
loadBalancer:
ingress:
- ip: x.x.x.x
任何想法如何解决这个问题? 谢谢
【问题讨论】:
-
您好,您是否尝试过在不同的环境中重现相同的行为(例如
minikube)?超时可能特定于您的客户端 服务器配置(例如超时的服务器设置)。 -
@DawidKruk 是的,我试过了,这种情况与我的服务器客户端无关。
标签: kubernetes google-cloud-platform google-kubernetes-engine google-cloud-networking