
У меня есть простой .NET api, который вызывает api внешнего провайдера. Этот провайдер требует, чтобы я указал, с какого IP я буду вызывать его, чтобы разрешить мне. Поэтому у меня есть два варианта:
- Разверните мой API на IIS с фиксированным IP-адресом
- Сделайте то же самое из докераЛазурный K8Sесли возможно?
Возможно ли из разных модулей «установить IP-адрес вызывающего абонента», чтобы он всегда был одинаковым?
Пока
решение1
Да, можно задать IP-адрес вызывающего всегда одинаковым при вызове внешнего API из разных pod в Azure K8S. Есть два способа сделать это:
Используйте Azure Load Balancer: вы можете создать Azure Load Balancer и назначить ему статический IP-адрес. Затем вы можете настроить свои модули для использования балансировщика нагрузки в качестве исходящего IP-адреса для вызова внешнего API. Таким образом, вызывающий IP-адрес всегда будет статическим IP-адресом балансировщика нагрузки.
Использовать службу Kubernetes с фиксированным IP: Другой вариант — создать службу Kubernetes с фиксированным IP и использовать ее в качестве исходящего IP для вызова внешнего API. Для этого можно использовать поле spec.loadBalancerIP в объекте Service, чтобы указать фиксированный IP. Это позволит вам всегда устанавливать IP-адрес вызывающей стороны одинаковым, независимо от того, какой модуль вызывает внешний API.
Вам необходимо убедиться, что ваши модули правильно настроены для использования балансировщика нагрузки или службы фиксированного IP в качестве исходящего IP-адреса при вызове внешнего API.