Назад | Перейти на главную страницу

Доступ к сервисам через Cloud VPN из контейнера Kubernetes

У меня настроена сеть VPC с подключением к локальной сети через VPN. Облачный маршрутизатор используется для создания маршрутов (BGP) внутри сети и в сети VPN. Один из проектов - размещение общедоступного кластера Kubernetes с внутренними и внешними IP-адресами (с псевдонимами IP-диапазонов). Он настроен для работы в сети VPC (с использованием одной из ее подсетей).

Я пытаюсь подключить службу, работающую на Kubernetes, к ресурсам во внутренней сети (через Cloud VPN). К сожалению, это не представляется возможным. Время ожидания соединения истекло.

Cloud VPN, Cloud Router настроен правильно, и есть доступ / связь между сетями. Единственная проблема в том, что я не могу получить доступ к локальным ресурсам из контейнеров Kubernetes.

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

Для решения этой проблемы в GKE есть [IP masq Agent] [1], который вы можете использовать для настройки диапазона IP-адресов назначения, для которого кластер должен использовать SNAT, тем самым давая вам контроль над тем, какой трафик используется NAT, а какой нет, и позволяет вы можете правильно спрогнозировать, какой трафик разрешить через VPN и через брандмауэр.