pod 所在网络命名空间进入

场景

业务应用pod部署后访问其他地址网络不通情况,而pod内也没有对应的排查工具例如telnet 、curl等,所以可以在pod的宿主机上进入其对应容器的ns内借助宿主机工具排查

过程

1、获取 Pod 的 UIDkubectl get pod <pod名称> -n <命名空间> -o jsonpath='{.metadata.uid}'

2、ssh 到pod调度到的worker主机上
3、在节点上通过 Pod UID 查找 Docker 容器
docker ps --filter "label=io.kubernetes.pod.uid=<Pod的UID>" --format "{{.ID}} {{.Names}}"
4、通过docker容器ID获取进程id
docker inspect {docker ID} | grep -i pid
5、通过进程ID进入到它的ns
nsenter --net -t {PID}
6、执行的网络操作都与容器相同ns下了
ip a #获取的就是容器的IP
7、退出执行exit即可








 

posted @ 2025-08-01 15:02  fanggege  阅读(19)  评论(0)    收藏  举报