2017-03-26 7 views
0

Ich kann anscheinend keine Ressourcen online finden auf Menschen, die dies tun, aber es scheint möglich, durch die Verwendung von StatefulSet (?). Ich kann mir vorstellen, dass wenn ein Match gemacht wird, ein Pod geplant wird und wenn das Match vorbei ist, wird es entfernt.Ist es möglich, Match-Server auf Kubernetes für ein Real-Time-Multiplayer-Spiel zu betreiben?

Es gibt eine Reihe weiterer Fragen wie: Wie verwaltet man Upgrades? Man kann ein laufendes Spiel nicht einfach herunterfahren.

Sehr neugierig zu hören, wie dies angegangen werden sollte.

Aktualisierung: Der einzige für Match-Server erforderliche Status wäre In-Memory. Es würde die Spieler in diesem Match, die Zusammensetzung des Teams usw. im Auge behalten. Dies könnte leicht über Env-Variablen weitergegeben werden. Spiele würden normalerweise zwischen 5 und 20 Minuten dauern und die Instanz/der Pod würde nach Ende des Spiels abgerissen werden.

+0

Können Sie weitere Details zu diesem Thema geben? Gibt es einen Status, der von Match-Servern benötigt wird? – Buchi

+0

Danke für deinen Kommentar @Buchi, ich habe meinen Beitrag aktualisiert. – Mirage

+0

Was passiert, wenn ein Pod/Container mitten in einem Match abstürzt? Möchten Sie das Spiel von Anfang an oder von dem Punkt, an dem es vor dem Absturz war, neu starten? – Buchi

Antwort

0

denke ich Daemon Sets passen würde, https://kubernetes.io/docs/admin/daemons/

+0

Hey Michael, wie genau glaubst du, dass Daemon Sets passen würden? – Mirage

+0

Entschuldigung. Du hast recht, es würde nicht helfen. Für diesen Fall würde ich empfehlen, einen benutzerdefinierten Controller oder Operator zu schreiben. Hier ist ein Beispiel: https://github.com/coreos/etcd-operator. Einführung in die Betreiber: https://coreos.com/blog/introducing-operators.html –

Verwandte Themen