Как получить IP-адрес клиента из Azure Kubernetes с помощью службы ClusterIP - PullRequest
0 голосов
/ 02 июля 2019

У меня развернуто приложение WebAPI в Kubernetes, и когда мы обращаемся к API, нам нужно зарегистрировать IP-адрес системы, откуда приложение получает доступ.Проще говоря, мне нужно получить IP-адрес клиента / системы, откуда вызывается API.Чтобы получить IP-адрес, я использую

HttpContext.Connection.RemoteIpAddress.MapToIPv4().ToString() 

, но он всегда возвращает IP-адрес узла Kubernetes вместо IP-адреса клиента.Сервисная абстракция / сервис, созданный в Kubernetes, имеет тип "ClusterIP".

Можно ли получить клиентский IP с помощью службы типа ClusterIP?.

1 Ответ

1 голос
/ 07 июля 2019

Согласно ссылке , предоставленной Maciek Sawicki , сервисы типа ClusterIP доступны из кластера, и, следовательно, сервисы типа ClusterIP не доступны вне кластера.Таким образом, трафик к таким службам поступает либо с узлов, либо через другие модули.

Однако, если вы хотите зарегистрировать IP-адрес клиента, измените тип службы на NodePort или балансировщик нагрузки, а затем добавьте service.spec.externalTrafficPolicyдо значения Local, как указано в приведенной выше ссылке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...