Как настроить Kubenetes для отправки внешних запросов со статического IP - PullRequest
0 голосов
/ 10 июня 2019

У меня есть куча модулей и соответствующих IP-сервисов кластера, работающих в кластере Kubenetes. Я использую контроллер Ingress для маршрутизации входящего трафика на эти рабочие нагрузки.

Теперь, когда я делаю внешний запрос из рабочей нагрузки, я бы хотел, чтобы эти запросы выходили со статического IP-адреса.

  1. Обрабатывается ли входящий и исходящий трафик через один и тот же сетевой интерфейс?

  2. Как установить статический IP-адрес для моих исходящих запросов от модуля

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 10 июня 2019

Если вы используете AWS или GKE, единственный способ получить статический исходящий поток из (автоматического масштабирования) пула узлов - через шлюз NAT. На GKE вы также должны иметь частные узлы (без публичных ips).

Вход Kubernetes, по крайней мере, в GKE, обрабатывается отдельно от выхода и является другим балансировщиком нагрузки.

https://cloud.google.com/nat/docs/gke-example

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

Некоторые исследования показали мне следующий метод, и он работал:

  1. Создание нового пула узлов с определенной меткой (скажем, ip=static)

  2. Развернуть рабочую нагрузку с помощью следующего селектора

     nodeSelector:
       ip: static
    
  3. Через сеть VPC зарезервируйте внешний статический IP

  4. Назначьте этот IP виртуальной машине, которая используется новым пулом узлов

Однако, как упомянул @ user578582, после завершения масштабирования мне придется использовать шлюз NAT, чтобы весь исходящий трафик передавался со статического IP-адреса в этой конфигурации.

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