Rancher2.6.6网络连接优化相关问题

Rancher Server 设置

  • Rancher 版本:rancher 2.6.6
  • 安装选项 (Docker install/Helm Chart): Helm Chart
    • 如果是 Helm Chart 安装,需要提供 Local 集群的类型(RKE1, RKE2, k3s, EKS, 等)和版本:RKE1
  • 在线或离线部署:在线部署

下游集群信息

  • Kubernetes 版本: rke v1.20.15
  • Cluster Type (Local/Downstream): Downstream
    • 如果 Downstream,是什么类型的集群?(自定义/导入或为托管 等): 自定义

主机操作系统:
CentOS7.9
问题描述:
rancher集群部署在公司内,我现在rancher中有50个左右下游集群,导致我的网络连接丢包比较严重,我关闭rancher集群的访问入口后网络即恢复正常,不再丢包,应该是我接入路由器的问题。我有什么办法可以优化这个现象吗?或者我必须升级我的路由器才能解决这个问题?下面是代理rancher的nginx的连接:
image

重现步骤:

结果:

预期结果:

截图:

其他上下文信息:

日志


首先需要排查是否有频繁主动的Rancher API调用,包括web访问等,如果这些请求都是正常业务触发,那么establishing conn其实无法避免。

如果排查后和主动调用无关,大量的establishing conn很可能是长连接引起。这些情况都会引起nginx lb持有长连接:

  • 下游集群采用custom on existing node时,会在每个node部署node-agent与rancher-server保持长连接。连接数量和所有下游集群节点数相同。
  • 每个下游集群都会部署1-2个cluster-agent。连接数量大约是下游集群数的2倍。
  • Web中查看日志、开启kuebctl shell等都是长连接请求,如果用户不主动关闭,则一直持有。

此外,nginx中可以尝试配置establishing conn的timetout,缩短这个值可以快速回收连接。