Kubernetes Simulator
advanced · ~30 min
Launch the arena
Ticket GAME-7 — launch the arena. An empty cluster; the game studio launches its multiplayer servers today.
- arena — 3 servers of
ghcr.io/hackademy/arena-server:1.0with names that never change (arena-0, arena-1, arena-2), each reachable by its own DNS name through a headless Servicearenaon port 7777. - Each server keeps its match saves on its own disk at
/data(1Gi) — saves must survive a restart. - Maintenance must never take the arena below 2 servers.
- Every worker node runs the studio's log shipper, log-shipper (
busybox:1.36runningsh -c 'echo shipping logs; sleep infinity'). - Watch for the 1.1 patch: it must reach one server before the others.
Names matter: the matchmaker looks for arena-0.arena, arena-1.arena and arena-2.arena.
Objectives
- 3 arena servers ready, each with its own disk at /data
- A headless Service arena gives each server a DNS name
- Maintenance can't take the arena below 2 servers
- log-shipper runs on every worker node
- When the patch lands: arena-2 on 1.1, arena-0 and arena-1 still on 1.0
- Bonus: Watch the canary roll out with kubectl rollout status
Best on a computer with a keyboard. It works on a phone, with shortcuts under the terminal.