Rufen Sie die externe API vom selben E/A-Docker aus auf

Rufen Sie die externe API vom selben E/A-Docker aus auf

ich habe eine einfache .NET-API, die eine API eines externen Anbieters aufruft. Dieser Anbieter verlangt, dass ich angebe, von welcher IP ich ihn aufrufen werde, damit ich das zulassen kann. Ich habe also zwei Möglichkeiten:

  1. Stellen Sie meine API auf IIS mit einer festen IP bereit
  2. Machen Sie dasselbe von Docker ausAzure K8Swenn möglich?

Ist es möglich, dass die „IP-Adresse des Anrufers“ von verschiedenen Pods immer gleich bleibt?

Tschüss

Antwort1

Ja, es ist möglich, den IP-Anrufer immer so einzustellen, dass er derselbe ist, wenn eine externe API von verschiedenen Pods in Azure K8S aus aufgerufen wird. Dazu gibt es zwei Möglichkeiten:

Verwenden Sie einen Azure Load Balancer: Sie können einen Azure Load Balancer erstellen und ihm eine statische IP-Adresse zuweisen. Anschließend können Sie Ihre Pods so konfigurieren, dass sie den Load Balancer als ausgehende IP zum Aufrufen der externen API verwenden. Auf diese Weise ist die IP des Anrufers immer die statische IP des Load Balancers.

Verwenden Sie einen Kubernetes-Dienst mit einer festen IP: Eine weitere Möglichkeit besteht darin, einen Kubernetes-Dienst mit einer festen IP zu erstellen und ihn als ausgehende IP zum Aufrufen der externen API zu verwenden. Dazu können Sie das Feld spec.loadBalancerIP im Service-Objekt verwenden, um eine feste IP anzugeben. Auf diese Weise können Sie die IP des Anrufers immer gleich einstellen, unabhängig davon, welcher Pod die externe API aufruft.

Sie müssen sicherstellen, dass Ihre Pods richtig konfiguriert sind, um beim Aufrufen der externen API den Load Balancer oder den festen IP-Dienst als ausgehende IP zu verwenden.

verwandte Informationen