У меня есть несколько различных pod (контейнеров) (9) в gcloud, использующих kubenetes каждый со своим статическим IP-адресом. У меня также есть несколько пулов узлов (9) в кластере, который они все используют. Если я делаю запрос cURL от любого из модулей (контейнеров), то IP-адрес, который регистрируется в журналах URL-адреса назначения, всегда является IP-адресом первого пула узлов в кластере.
Мой вопрос: это последовательно происходит? Если этот пул узлов удаляется, я теряю IP-адрес. Есть ли способ сделать этот адрес запроса cURL статическим?
Мне это нужно, потому что эти контейнеры должны обслужить внешнюю службу с ограниченным IP-адресом, и мне нужно сделать запрос на изменение этого IP-адреса каждый раз, когда он изменяется.
Поскольку у вас большое количество узлов, я думаю, что единственный надежный способ сделать это — настроить один узел в качестве шлюза NAT для исходящего трафика. Таким образом, исходящий трафик от всех узлов сначала пойдет к шлюзу NAT, который, в свою очередь, подключится к вашей внешней службе. Затем вы можете назначить статический IP-адрес этому экземпляру виртуальной машины шлюза. Очевидно, что это также вводит единую точку отказа для внешнего трафика.
это страница содержит подробные инструкции по настройке шлюза NAT. Вы также можете обратиться к это обсуждение.
Второй вариант — иметь выделенный пул / узлы только для модулей, которым необходим внешний доступ. Затем вы можете назначить выделенные IP-адреса только для этих узлов.
Других решений пока нет …