kubernetes(k8s) pod到pod之间无法通信

開開新新 发表于: 2021-03-19   最后更新时间: 2021-03-19 16:45:33   333 游览
0

pod

pod

这个是我新建的一个集群(二进制部署),我使用官方提供的配置创建了一个coredns(只有一个在node1上)。

pod

我测试pod in pod之间的通信时发现,如果两个pod都放到node1上,那么通信正常,pod也可以解析外部域名。

但是只要有一个pod在node2上就没法通信,也没法解析外部域名。

我开了coredns的日志,发现在node2上的pod请求外部域名时,coredns都没有记录,说明请求没有到达coredns。

我查了 kube-proxy产生的日志,每当我在node2上的pod中请求时,就有一条iptables [-w -S KUBE-PROXY-CANARY -t mangle]产生。

下一步如何排查呢?



发表于 1月前

  • 1、到node2节点上,测试该物理节点是否可以正常解析(容器是基于该节点进行的递增),默认是在/etc/resolv.conf
    2、coreDNS没有装成功,一般k8s的dns是安装在命名空间kube-system下,可以通过 kubectl get pods -n kube-system查看,确保安装成功,通过kubectl logs确认。

    • 你说的这两个都没问题,我按照官方文档中的debug dns方法都走了一遍,结果都是正确的。 coredns应该是没问题的,因为 在node2上的pod发出的请求都没有到达coredns。

      • 找不到想要的答案?

        我要提问
        相关