java.net.UnknownHostException 总是在使用 aws 直接连接的 kubernetes 中发生

java.net.UnknownHostException always happened in kubernetes with aws direct connect

我在通过aws direct connect 服务连接的混合环境中部署了一个kubernetes 集群(v1.11)。一个vpc和另一个裸机服务器中有3个ec2节点。

一切正常,除了网络不好。我在 kubernetes 中有一些 java 网络服务 运行,我设置 nodeSelector 使它们在 ec2 中全部 运行。当服务试图通过 http 访问某些服务时,显示了很多 java.net.UnknownHostException。不是每次都这样,但是很频繁。

我尝试了一些方法来检查问题。比如我查看了coredns服务,发现那边超时很多。我按照 this issue 解决了超时问题,但仍然显示 java.net.UnknownHostException

我也找到了 this link 但我不确定这是否与我的问题有关。

希望有人能解决我的问题。我确实受了很多苦。提前致谢。

最近发现有人和我有类似的问题,可能与kubernetes中的coredns有关。

将 cni 插件从 flannel 切换到 calico 解决了这个问题。