我有一个简单的 .NET api,它调用外部提供商的 api。此提供商要求我指明我将从哪个 IP 调用他以允许我。所以我有两个选择:
- 使用固定 IP 在 IIS 上部署我的 API
- 从docker上执行相同操作Azure K8S如果可能的话?
从不同的 pod“设置 ip 呼叫者”是否可能总是相同的?
再见
答案1
是的,在 Azure K8S 中从不同 pod 调用外部 API 时,可以将 IP 调用者设置为始终相同。有两种方法可以做到这一点:
使用 Azure 负载均衡器:您可以创建 Azure 负载均衡器并为其分配静态 IP 地址。然后,您可以将 Pod 配置为使用负载均衡器作为调用外部 API 的出站 IP。这样,IP 调用者将始终是负载均衡器的静态 IP。
使用具有固定 IP 的 Kubernetes 服务:另一种选择是创建具有固定 IP 的 Kubernetes 服务并将其用作调用外部 API 的出站 IP。为此,您可以使用 Service 对象中的 spec.loadBalancerIP 字段指定固定 IP。这样,无论哪个 pod 正在调用外部 API,您都可以将 IP 调用者设置为始终相同。
您需要确保您的 pod 已正确配置,以便在调用外部 API 时使用负载均衡器或固定 IP 服务作为出站 IP。