Отправка запросов Google Kubernetes Engine, несколько развертываний, под одним внешним IP-адресом - PullRequest
0 голосов
/ 14 октября 2019

В бэкэнд-развертывании на основе облачной платформы Google Cloud Platform, на котором я работаю, постоянно работает от 4 до 60 узлов, охватывающих две разные службы. Это будет означать, что все исходящие запросы будут направляться через один IP-адрес.

Как мне это сделать? В развертывании используется контроллер Nginx Ingress, который не позволяет использовать много параметров, когда дело касается части egress .

Я пытался настроить виртуальную машину вне развертывания, но все жена GCP в том же регионе, и не смог настроить прямой прокси. По крайней мере, не тот, к которому я мог бы подключиться с моего локального устройства. Не уверен, что это из-за брандмауэра GCP или чего-то подобного. При этом использовался и Squid, и Apache, но и безуспешно.

Я также рассмотрел вариант Cloud NAT, но, похоже, мне придется воссоздать все службы, конвейеры CI / CD и DNSнастройки и т. д. В идеале я бы этого избегал, так как это стоило бы работы в течение нескольких дней и потребовало бы также некоторого времени простоя систем.

В идеале у меня был бы рабочий прокси-сервер пересылки. Я пытался найти образы Docker, которые бы работали как единое целое, но, к сожалению, это не похоже на вещь. SSH в виртуальную машину для настройки такого прокси также пока не привел к успеху.

1 Ответ

1 голос
/ 14 октября 2019

Вы уже нашли решение, вам нужно перестраивать вещи, используя либо Cloud NAT, либо эквивалентное решение, созданное вами самостоятельно. Даже это относительно недавно, и я на самом деле не пробовал сам, так как недавно, 6 месяцев назад нам сказали, что это не поддерживается для GKE. Нашим решением была упомянутая вами идея прокси-сервера, HTTP-прокси, работающий вне GKE и направляющий его через уровень кода приложения, а не инфраструктуры. Это было не весело.

...