Centralized HTTP API for M number of HTTP APIs on N Clusters K8S Architecture Question

Hi all, looking for some insight and ideas from folks who have been faced with a similar problem as this.

  • We have a N number of isolated clusters amongst a single region.

  • Each cluster has M HTTP API Apps that are identical, Services A,B,C…

  • We want to expose Services A,B,C… from each cluster to a centralized API/endpoint, so you can hit a single endpoint to have the request routed to the appropriate cluster API, or multiplex to each API on each cluster.

  • Are there existing paradigms within K8S which allows an HTTP service to expose its API to a centralized endpoint

  • Are there paradigms for exposing identical HTTP APIs across N clusters to a centralized point?

  • Was looking at https://backstage.io/, but this seem to be geared towards the control plane than a centralized API offering.

  • We are considering each service must explicitly register with the centralized API (manual for time being) and the centralized API acts as a proxy/multiplexer to all the services within a given cluster

Simplified diagram, showing a cent

Not sure what you mean with route to proper cluster or multiplexed.

But isn’t what you want just a load balancer? Not sure where you are
running, but that offer is quite common. On some providers like google,
you have a global load balancer: " a single anycast IP front-ends all
your backend instances in regions around the world. " (from
Load Balancing  |  Google Cloud)

Not sure what you mean with route to proper cluster or multiplexed.

Could be something as simple as a body param or query param to which cluster to route the requests too.

An LB approach could definitely work, requires defining which service

API Gateway is certainly an approach as well.