前言:在使用k8s的过程中,当通过检查配置和日志,无法排查错误时,此时需要抓取网络数据包,具体的操作如下:
    1.首先通过kubectl get pod -o wide -n namespace 获取到pod所运行的node节点ip
    2.然后ssh登陆到node节点,找到服务的容器名称和容器id
    docker ps|grep 服务名
    3.找到对应容器的Pid
    docker inspect 容器id|grep Pid
    4.进入到容器的网络命名空间执行tcpdump命令
    nsenter -t Pid -n tcpdump -i eth0 -w test.pcap
    将生成的文件导出,用网络工具进行分析,接口超时等问题。
    https://tencentcloudcontainerteam.github.io/tke-handbook/skill/capture-packets-in-container.html