首页 > 解决方案 > 无法从 pod 访问外部 mongo 服务器,但能够从 EC2 实例连接

问题描述

我正在尝试从在 k8s 集群中运行的 pod 连接到在外部服务器上运行的 MongoDB 实例。我在两个 VPC 之间确实有一个 VPC 对等设置,并且我完全能够从节点连接到 MongoDB 服务器,但是当我从正在运行的 pod 尝试时,它失败了。在尝试 traceroute 时,我认为私有 IP 没有在 pod 网络之外被解析。

在 pod 网络端还有什么需要配置的吗?

标签: amazon-web-serviceskubernetes

解决方案


在这里大胆猜测一下,我相信您的 podCidr 与您的 VPC 上的一个Cidr冲突。例如:

192.168.0.0/16 <podCidr) ->  192.168.1.0/24 (VPC cidr)
# Pod is thinking it needs to talk to another pod in the cluster
# instead of a server

clusterCIDR您可以使用以下命令(字段)查看您的 podCidr :

$ kubectl -n kube-system get cm kube-proxy -o=yaml

可能配置错误的另一个方面可能是您的覆盖网络,其中 pod 没有获取 pod IP 地址。


推荐阅读