Scaling game server with rooms on kubernetes

7/19/2020

Before explaining my issue i'd like to say that I'm new to server management, coming from the front-end world, so a lot of these concepts are new to me and my idea might be inherently wrong.

I'm trying to build a small horizontal scalable game server. Players are can create a room or join other rooms. Each room is a new instance of the same Node.js codebase that takes care of syncing room state between connected players over websockets.

These rooms should be containerised, have their own ip, decoupled and not intrude on each others cpu or memory time (there are specified resources for each room), even when running on the same VM.

And this is where I understood kubernetes could be helpful. I thought that pods would be that unit, where each pod would be a room, but reading the kubernetes docs makes me doubt that.

So i guess i'm asking if kubernetes is be the right tool for what i'm trying to do, or maybe if what i'm trying to do is not the ideal way?

-- COV
containers
kubernetes
node.js

1 Answer

7/19/2020

You are in the right direction. Kubernetes will help in your usecase. But pls make a note pods are easy to handle when they are stateless. So you got to figure out how to continue a gamer session if pod or node get deleted voluntarily or involuntarily.

-- Narain
Source: StackOverflow