Статический IP-адрес из контейнера gcloud docker с использованием Curl


У меня есть несколько различных модулей (контейнеров) (9) на gcloud, использующих kubenetes каждый со своим статическим IP-адресом. У меня также есть несколько пулов узлов (9) в кластере, который они все используют. Если я делаю запрос cURL от любого из модулей (контейнеров), IP-адрес, который регистрируется в журналах URL-адреса назначения, всегда является IP-адресом первого пула узлов в кластере.

Мой вопрос в том, происходит ли это последовательно? Если этот пул узлов удален, я теряю IP-адрес. Есть ли какой-нибудь способ сделать этот адрес запроса скручивания статическим?

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

1 2

1 ответ:

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

Эта страница содержит подробные инструкции по настройке ворота Нат. Вы также можете обратиться к этому обсуждению.

Второй вариант - иметь выделенный пул / узлы только для модулей, которым требуется внешний доступ. Затем вы можете предоставить выделенные IP-адреса только для этих узлов.