從同一個 io docker 呼叫外部 api

從同一個 io docker 呼叫外部 api

我有一個簡單的.NET api,它呼叫外部提供者的api。該提供者要求我指明我將從哪個 IP 呼叫他以允許我這樣做。所以我有兩個選擇:

  1. 將我的api部署在具有固定ip的IIS上
  2. 從 docker 執行相同操作蔚藍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。這將允許您將 IP 呼叫者設定為始終相同,無論哪個 pod 正在呼叫外部 API。

您需要確保您的 Pod 已正確配置為在呼叫外部 API 時使用負載平衡器或固定 IP 服務作為出站 IP。

相關內容