Невозможно получить доступ к внешнему серверу Монго из модуля, но подключиться из экземпляра EC2 - PullRequest
0 голосов
/ 28 октября 2018

Я пытаюсь подключиться к экземпляру MongoDB, работающему на внешнем сервере, из модуля, работающего в кластере k8s.У меня есть настройка пиринга VPC между двумя VPC, и я вполне могу подключиться к серверу MongoDB с узлов, но когда я пытаюсь запустить работающий модуль, это не удается.При попытке выполнить трассировку, я думаю, что частный IP-адрес не разрешается за пределами сети pod.

Есть ли что-то еще, что необходимо настроить на стороне pod network?

Ответы [ 3 ]

0 голосов
/ 28 октября 2018

Это работает нормально.Я тестировал соединение с telnet из модуля, и, так как telnet ничего не возвращал после успешного соединения, казалось, что была какая-то проблема с сетью.Протестировав это с помощью простого http-сервера и отслеживая соединения, я увидел, что все работает нормально.

0 голосов
/ 29 октября 2018

IP-адреса podCidr перекрываются с VPC Cidr, в котором находится ваш сервер mongo, и, следовательно, Kube Router предпочитает внутреннюю таблицу маршрутизации 1-й, которая работает как задумано.

Вам нужно перенастроить свой VPCСеть с другой сетью или сеть Kube.

0 голосов
/ 28 октября 2018

Делая дикие предположения, я считаю, что ваш podCidr конфликтует с одним из Cidrs на вашем VPC.Например:

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

Вы можете увидеть свой podCidr с помощью этой команды (clusterCIDR поле):

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

Другим аспектом, где вещи могут быть неправильно настроены, может быть ваша оверлейная сеть, гдестручки не получают IP-адрес стручка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...