Google Kubernetes Engine Best Practices
Best practices for running Agones on Google Kubernetes Engine (GKE).
Running Agones in production takes consideration, from planning your launch to figuring out the best course of action for cluster and Agones upgrades. On this page, we’ve collected some general best practices. We also have cloud specific pages for:
If you are interested in submitting best practices for your cloud prodiver / on-prem, please contribute!
When running in production, Agones should be scheduled on a dedicated pool of nodes, distinct from where Game Servers
are scheduled for better isolation and resiliency. By default Agones prefers to be scheduled on nodes labeled with
agones.dev/agones-system=true
and tolerates the node taint agones.dev/agones-system=true:NoExecute
.
If no dedicated nodes are available, Agones will run on regular nodes. See taints and tolerations
for more information about Kubernetes taints and tolerations.
If you are collecting Metrics using our standard Prometheus installation, see
the installation guide for instructions on configuring a separate node pool for the agones.dev/agones-metrics=true
taint.
See Creating a Cluster for initial set up on your cloud provider.
Agones supports Multi-cluster Allocation to avoid a single point of failure when allocating game servers. While earlier versions of Agones included a custom multi-cluster allocation solution, the current best practice is to use a Service Mesh (e.g., Istio, Linkerd, Google Cloud Service Mesh) to handle allocation traffic between clusters.
By deploying a Service Mesh across your Agones clusters and backend services, you can expose and route traffic to each cluster’s agones-allocator endpoint based on cluster priority, latency, or other criteria.
To implement this approach, refer to the full setup and guidance in the Multi-cluster Allocation documentation.
You can also explore the Global Multiplayer Demo for a working example using Google Cloud Service Mesh with Istio.
You should consider spreading your game servers in two ways:
Best practices for running Agones on Google Kubernetes Engine (GKE).
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.