k8s中服务器容器tcp连接数量优化

netty的http1服务器在运行一段时间后会无法提供服务,返回客户端socket hang up

使用apipost测试抓包显示三次握手后被reset

修改net/core/somaxconn

登录容器,cat /proc/sys/net/core/somaxconn显示128,对于一个服务器来说,这个限制太小了,可以放大。

但是k8s把容器的参数分类了,大部分的参数都属于unsafe,不能直接修改。

第一步:修改kubelet启动参数

kubelet启动增加参数:kubelet --allowed-unsafe-sysctls 'net.core.somaxconn'

kubelet可能是通过配置文件启动的,比如/etc/systemd/system/kubelet.service.d/10-kubeadm.conf

修改后重启kubelet:systemctl restart kubelet

确认是否生效:

第二步:修改netty的yaml

在Deployment中spec-template-spec-containers下增加securityContext:

c 复制代码
 securityContext:
         sysctls:
            - name: net.core.somaxconn
              value: "1024"

启动pod后查看somaxconn:

修改 TIME_WAIT 连接数量

cat /proc/net/tcp查看到tcp连接数非常多,(没看懂具体内容,待补充)

需要修改关闭连接的等待时间

步骤一 修改kubelet配置,增加:

c 复制代码
   --allowed-unsafe-sysctls net.core.somaxconn,net.ipv4.*

步骤二 修改deployment:

c 复制代码
  securityContext:
    sysctls:
       - name: net.core.somaxconn                               
         value: "1024"
       - name: net.ipv4.tcp_fin_timeout
         value: "30"
       - name: net.ipv4.tcp_tw_reuse
         value: "1"
相关推荐
honsor4 小时前
SNMP 读取以太网温湿度传感器数据,监控平台对接实操
物联网·网络协议·tcp/ip
工业一体机老司机6 小时前
Docker部署工控机采集服务 Compose编排与开机自启
运维·docker·容器
沫璃染墨8 小时前
从零入门计算机网络系列(十二):HTTP长连接与会话管理详解——从Connection到Cookie与Session
linux·服务器·c++·tcp/ip·ubuntu·http·交互
衍玊10 小时前
深入剖析 TCP/IP 网络通信原理与内核实现
服务器·网络·tcp/ip
FPGA小迷弟12 小时前
FPGA 与千兆以太网:各类物理接口的形式、区别、使用方法与应用场景详解
tcp/ip·macos·fpga开发·udp·fpga
miaobinfei12 小时前
docker拉取dify镜像,执行docker compose up -d 报错
运维·docker·容器
Black蜡笔小新12 小时前
上云网关/端口穿透/设备上云EasyNTS:无需公网IP、也不改防火墙,设备怎么从内网跑到外网去
网络·网络协议·tcp/ip
科技小登13 小时前
出海高防CDN怎么选?CDN加速、边缘清洗与跨境回源POC指南
tcp/ip·web安全·ddos
kobe_OKOK_13 小时前
docker compose命名卷 映射到宿主机的路径
运维·docker·容器
无言听风雨丶14 小时前
Linux 容器本质探秘:Cgroup 与 Namespace 深度解析与实战
linux·运维·服务器·kubernetes