Можно ли использовать уникальный внешний (исходящий) IP для каждого модуля в Кубернетесе? - PullRequest
0 голосов
/ 11 июня 2018

Я пытаюсь реализовать приложение распределенного нагрузочного тестирования с использованием Kubernetes;каждый модуль запускает отдельный контейнер, который отправляет запросы SMB на сервер в моей локальной сети.

После отслеживания пакетов, отправленных на сервер или с сервера, я обнаружил, что все запросы, отправляемые на сервер, происходятиз IP-адреса кластера (как и при поведении Kuberentes по умолчанию).

Есть ли способ настроить эту настройку таким образом, чтобы каждый модуль получал свой собственный внешний IP-адрес вместо подключения через кластер?Или существует другая служба оркестровки контейнеров (например, Docker Swarm), которая лучше подходит для этого варианта использования?

Ответы [ 2 ]

0 голосов
/ 12 июня 2018

К сожалению, все ваши модули внутри кластера всегда находятся за NAT, поэтому вы всегда видите IP-адрес кластера.Тем не менее, вы можете попробовать использовать некоторые обходные пути, чтобы избежать этого NAT.Например, вы можете попытаться использовать hostNetwork: true для своего развертывания.Ваши модули будут запущены в вашей сети, а не за NAT.Кроме того, вы можете поиграть с некоторыми сетевыми плагинами.

0 голосов
/ 11 июня 2018

Ваша сеть, вероятно, находится в диапазоне, отличном от 10.0.0.0/8.Проверьте это правило:

-A POSTROUTING ! -d 10.0.0.0/8 -m comment --comment "kubenet: SNAT for outbound traffic from cluster" -m addrtype ! --dst-type LOCAL -j MASQUERADE

Для пакета на любой адрес назначения, кроме 10.0.0.0/8, замаскируйте адрес с IP-адресом узла.

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