首页 > 解决方案 > K8s haproxy入口控制器在100个请求后关闭保持连接

问题描述

我有一个入口控制器(haproxy)和 2 个微服务。

MS2 正在呼叫 MS1。MS1 具有配置 keepAliveRequest=-1(无限制)并且保持活动超时 = 50 分钟。当 MS2 通过 kube-proxy(NodePort 类型服务)调用 MS1 时,当 MS2 只创建一些连接(在我的情况下为 10 个)时可以。

但是如果我们通过调用入口控制器从 MS2 调用 MS1。连接总是每 100 个请求关闭一次。所以它会创建很多连接。

有人可以帮我吗?

编辑:我们在此站点中使用了 haproxy-ingress 控制器的最新版本: https ://quay.io/repository/jcmoraisjr/haproxy-ingress?tag=latest&tab=tags

我们已经设置了一些配置(配置映射):

http-keep-alive=true
load-balance=roundrobin
maxconn=20000
nbthread=10
rate-limit=OFF
rate-limit-expire=30m
rate-limit-interva=10s
rate-limit-size=3000k
servers-increment=42
servers-increment-max-disabled=66
timeout-client=60m
timeout-connect=60m
timeout-http-keep-alive=60m
timeout-http-request=15s
timeout-queue=5s
timeout-server=60m
timeout-tunnel=1h

在负载均衡中,我们在 YAML 中有一些如下配置

ingress.kubernetes.io/balance-algorithm: roundrobin
ingress.kubernetes.io/maxconn-server: "20000"
ingress.kubernetes.io/ssl-redirect: "false"
ingress.kubernetes.io/timeout-http-request: 5m
ingress.kubernetes.io/timeout-keep-alive: 7h
ingress.kubernetes.io/timeout-queue: 5s

标签: spring-bootkuberneteshaproxy-ingress

解决方案


推荐阅读