nsenter排查容器网络问题实例
作者:全 然@勾股弦数据 阅读84 2024/09/18 01:25:57 文章 原创 公开
监控看到数据库节点的连接数很高,在该节点netstat -antp | grep ESTA |more 发现都是从k8s集群worker节点过来的
猜测是微服务在疯狂连接数据库,并且未释放连接
首先在k8s节点上使用tcpdump抓包,看看是哪个ip在请求数据库
tcpdump -l -i any -nn dst host 数据库服务器ip and dst port 数据库服务端口
观察到几个频繁请求的ip,均是ipvs给pod分配的ip
通过kubectl找出这些ip是哪些pod
kubectl get pod -nmaster -owide | grep -E '10.244.249.51|10.244.249.20'
然后通过 docker ps 以及docker inspect找出容器的进程
root@:~# docker ps | grep xxx-web root@:~# docker inspec 74ef220fa630 |grep Pid
最后使用nsenter直接进入容器网络排查网络情况,果然大量的连接来自于这个微服务容器
root@:~# nsenter -t 149318 -n netstat -antp |wc -l 11712 root@:~# nsenter -t 149318 -n netstat -antp |grep ESTAB |wc -l 11729 root@:~# nsenter -t 149318 -n netstat -antp |grep ESTAB |more tcp 0 0 10.244.249.51:52410 192.168.xx.xx:port ESTABLISHED 149318/main
最后联系开发排查具体原因
声明:本网站部分内容来源于网络,版权归原权利人所有,其观点不代表本网站立场;本网站视频或图片制作权归当前商户及其作者,涉及未经授权的制作均须标记“样稿”。如内容侵犯了您相关权利,请及时通过邮箱service@ichub.com与我们联系。
验证