youngwang12138 / blog-gitalk

0 stars 0 forks source link

对K8S的pod进行抓包 #12

Open youngwang12138 opened 2 years ago

youngwang12138 commented 2 years ago

https://zhongyang.wang/post/1651389708/

前言 有时需要查看pod的网络数据包,但pod一般没有tcpdump命令。这里介绍如何在宿主机上对pod进行网络抓包 nsenter 使用 1 2 3 4 5 6 7 8 9 10 11 12 13 14 nsenter [options] [program [arguments]] options: -t, --target pid:指定被进入命名空间的目标进程的pid -m, --mount[=file]:进入mount命令空间。如果指定了file,则进入file的命令空间 -u, --uts[=file]:进入uts命令空间。如果指定了file,则进入file的命令空间 -i, --ipc[=file]:进入ipc命令空间。如果指定了file,则进入file的命令空间 -n, --net[=file]:进入net命令空间。如果指定了file,则进入file的命令空间 -p, --pid[=file]:进入pid命令空间。如果指定了file,则进入file的命令空间 -U, --user[=file]:进入user命令空间。如果指定了file,则进入file的命令空间 -G, --setgid gid:设置运行程序的gid -S, --setuid uid:设置运行程序的uid -r, --root[=directory]:设置根目录 -w, --wd[=directory]:设置工作目录 抓包步骤 比如要对名为greeter-grpc-cli pod进行抓包 1 2 3 kubectl get pods greeter-grpc-cli-deployment-5bb97fd9cc-sgmq5 -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES greeter-grpc-cli-deployment-5bb97fd9cc-sgmq5 2/2 Running 0 21d 10.