抓包排查解决k8s集群某节点容器无法访问servername的问题

抓包排查解决k8s集群某节点容器无法访问servername的问题

问题表现

10.202.41.7节点上所有容器无法通过servername访问集群网络内的其他服务,只能通过clusterIp的方式访问其他服务。

排查过程

1.根据问题表现初步怀疑是dns的问题,因为服务名可以,虚拟ip不行,说明大概率是在服务名被解析为对应clusterIp时出现了问题。于是检查coredns的运行状态,发现全部是正常的,看日志也没有发现问题。

2.coredns没有问题,便通过k8s在问题节点上起一个容器(生产环境,该问题节点上的容器被驱逐了),进入该容器的网络命名空间,开始进行抓包。
在问题节点上进入容器网络命名空间:
docker inspect nginx | grep PId (nginx为容器名) 获取容器进程号
nsenter -t 12345 -n (12345为容器的进程号) 进入对应容器的网络命名空间
ip a 检查是否成功进入(是否与宿主机的返回结果不同)
开始抓包:
在容器的网络命名空间内执行tcpdump命令,抓取所有通过eth0网卡的流

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值