imroc / kubernetes-practice-guide

Kubernetes 实践指南(已过时,最新请看 https://imroc.cc/kubernetes/)
Creative Commons Attribution 4.0 International
180 stars 46 forks source link

容器内抓包定位网络问题 #93

Open imroc opened 4 years ago

imroc commented 4 years ago

https://k8s.imroc.io/troubleshooting/trick/capture-packets-in-container/

Kubernetes 实践指南

nokia-t1zhou commented 4 years ago

用了你的这个方法,当执行nslookup命令,仍然使用的是host上的/etc/resolv.conf配置信息, 不会去读取container里面的/etc/resolv.conf,请问有什么办法吗?

imroc commented 4 years ago

@nokia-t1zhou 用了你的这个方法,当执行nslookup命令,仍然使用的是host上的/etc/resolv.conf配置信息, 不会去读取container里面的/etc/resolv.conf,请问有什么办法吗?

因为只是进入了 netns,使用 nslookup 还是读取的宿主机上的 resolv.conf,所以用的宿主机上的 nameserver 解析的,你可以给 nslookup 指定下 nameserver,使用集群dns的clusterip,比如:

nslookup kubernetes.default.svc.cluster.local 172.16.255.240
nokia-t1zhou commented 4 years ago

多谢说明,只能这样操作了, 这样就没法验证container里面的resolv.conf文件的格式