Canary Testing a new Fleet
GameServerto ensure it works correctly, before rolling it out to all your players.
To canary release/test a new
we can run a small, fixed size
Fleet of the new version of our GameServer, while also running the current stable
Allocations can then
prefer to come from the canary
Fleet, but if all
GameServers are already allocated from the
Fleet, players will be allocated to the current stable Fleets.
Over time, if the monitoring of those playing on the canary
Fleet is working as expected, the size of the canary
Fleet can be grown until you feel confident in its stability.
Once confidence has been achieved, the configuration for stable
Fleet can be updated to match the canary (usually
triggering a rolling update). The
Fleet can then be deleted or updated to a new testing version of the game server process.
To ensure we don’t have to change the Allocation system every time we have a canary
Fleet, in this example, we will
state that in our system, the label
canary: "true" will be added to any canary
Fleet in the cluster.
apiVersion: "allocation.agones.dev/v1" kind: GameServerAllocation spec: preferred: - matchLabels: canary: "true" required: matchLabels: agones.dev/fleet: stable
Allocation will then preferentially choose the
Fleet that has
GameServers with the label and key
canary:"true", if it exists, and has remaining Ready
GameServers, and if not, will apply the
Allocation to the
Fleet named “stable”.
- Read about different
Fleetupdate options and strategies that are available.
- Have a look at all the options available on a
- Review the
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.
Last modified August 20, 2021: Docs: Canary Testing Integration Pattern (#2227) (d4e95e57)