最佳体验请使用Chrome67及以上版本、火狐、Edge、Safari浏览器 ×

创建银行
创建开票

    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与我们联系。
     0  0

    微信扫一扫:分享

    微信里点“+”,扫一扫二维码

    便可将本文分享至朋友圈。

      
    
    
    分享
     0
      验证