Как сделать так, чтобы мои блоки в кластере Kubernetes (GKE) использовали IP-адрес узла для связи с виртуальными машинами вне кластера - PullRequest
0 голосов
/ 14 мая 2019

Я создал кластер Kubernetes в Google Cloud с помощью службы GKE.

Среда GCP имеет VPC, который подключен к локальной сети с помощью VPN. Кластер GKE создается в подсети, скажем, подсеть1, в том же VPC. Виртуальные машины в подсети1 могут обмениваться данными с локальной конечной точкой по своему внутреннему (частному) IP-адресу. Полный диапазон IP-адресов подсети (10.189.10.128/26) занесен в белый список в локальном брандмауэре.

Модули GKE используют IP-адреса из назначенного им вторичного IP-адреса (10.189.32.0/21). Я выполнил exec в одном из модулей и попытался подключиться к локальной сети, но не смог получить ответ. Когда я проверил журналы сети, я обнаружил, что исходный IP-адрес был IP-адресом Pod (10.189.37.18), который использовался для связи с локальной конечной точкой (10.204.180.164). Где, как я хочу, Pod должен использовать IP-адрес узла для связи с локальной конечной точкой.

Для модулей было выполнено развертывание, и развертывание предоставляется как служба ClusterIP. Эта услуга прикреплена к входу GKE.

...