Scaling spectator game servers with kubernetes and a frontend proxy

Dear Forum.

I’m trying to create a system that will allow me to manage and scale a game server relay setup.

The goal of the project is to feed Kubernetes a list of game servers (Lan or public servers) and be able to spin up as many servers as needed.

Each of the relay servers is been hosted on my Bladecenter with many nodes. Each relay server will have one of 4 ports (TCP/UDP) 27020-27024 and be spread out on my nodes.

Here I would like a proxy frontend to have a URI for each match that is been run.

And this should then redirect the user connecting to a free relay server (each can hold up to 16 spectators)

And when I run out of slots for spectators I would like the system to just spinup more servers

And the end-users should only know that they are accessing the relay0x.domainname.TLD

how would i manage to get this working with Kubernetes and having the auto-scaling and managing firewall rules to allow for this traffic.