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"
相关推荐
云计算-Security3 分钟前
如何理解 IP 数据报中的 TTL?
网络协议·tcp/ip
油腻中年李大鹅31 分钟前
使用scheduler-plugins实现自定义调度器
kubernetes·go
木头左2 小时前
Docker容器化技术中的联合文件系统原理探究
docker·容器·eureka
稳联技术2 小时前
实践提炼,EtherNet/IP转PROFINET网关实现乳企数字化工厂增效
网络·网络协议·tcp/ip
卡布奇诺-海晨3 小时前
RockyLinux9.6搭建k8s集群
容器·kubernetes
Huathy-雨落江南,浮生若梦6 小时前
k8s入门教程(集群部署、使用,镜像拉取失败网络问题排查)
网络·容器·kubernetes
罗技1236 小时前
我用Amazon Q写了一个Docker客户端,并上架了懒猫微服商店
运维·docker·容器
2501_916007477 小时前
绕过 Xcode?使用 Appuploader和主流工具实现 iOS 上架自动化
websocket·网络协议·tcp/ip·http·网络安全·https·udp
2501_916013747 小时前
使用 Windows 完成 iOS 应用上架:Appuploader对比其他证书与上传方案
websocket·网络协议·tcp/ip·http·网络安全·https·udp
小陈运维8 小时前
K8s 1.33 原地扩缩容特性
kubernetes