Managed Clusters
Learn about Managed Clusters and get started quickly with custom backend solutions.
✔️ Introduction
Managed Clusters make hosting self-managed game services and game backend easy and fast. You prepare the service image and we provide a high-availability, resilient cloud environment to run them:
player authentication,
data storage - accounts, progression, inventory, rewards, ...
social services - chat, clans, leaderboards, tournaments, ...
custom matchmaking - using 👷 Advanced Matchmaker, 📦 Nakama by Heroic Labs, ...
serverless compute - managed functions as a service (alt. cloudscript, lambda), ...
See Matchmaking and Server Browser to get started with game client integration.
Private clusters ensure your services have dedicated compute to serve your players 24/7.
We currently offer 3 private cluster tiers to cater to everybody’s needs:
Best Suited For
enthusiasts, solo developers
commercial releases
high-traffic launches
Resources
1 vCPU + 2GB RAM
6 vCPU + 12GB RAM
18 vCPU + 48GB RAM
Redundancy
1x virtual node
3x virtual nodes
3x virtual nodes
Rate Limit (req/s)
200
750
2,000
Price, hourly
$0.0312
$0.146
$0.548
Price, 30 days (nonstop usage)
$22.464
$105.12
$394.56
🛠️ Developer Tools
If you see an opportunity for improvement, please let us know in our Community Discord.
We hope you will enjoy a smooth experience. 🚀
Docker
To help make your server reliable, we use Docker - virtualization software to ensuring that all of your server code dependencies down to the operating system level are going to be always exactly the same, no matter how or where the server is launched.
Kubernetes (K8s)
Kubernetes, also known as K8s, is an open source system for automating deployment, scaling, and management of containerized applications (Docker Images). It groups containers that make up an application into logical units for easy management and discovery.
Edgegap Managed Clusters provide a Kubernetes API for administration purposes.
K8s Lens
With over 1 million users, K8s Lens is the most popular Kubernetes IDE in the world. Connect to clusters, explore, gain insights, learn and take an action when needed. Lens provides all the information from your workloads and resources in real-time, always in the right context.
Edgegap Cluster Kubernetes API can be used through Lens or other Kubernetes IDEs.
Helm Package Manager
Helm is the best way to find, share, and use software built for Kubernetes. Helm helps you manage Kubernetes applications - Helm Charts help you define, install, and upgrade even the most complex Kubernetes application. Charts are easy to create, version, share, and publish - so start using Helm and stop the copy-and-paste.
Installing Helm CLI provides developers with a simple interface to manage their cluster packages.
🚀 Getting Started
☑️ Registered for your free Edgegap account and upgrade to pay as you go tier to unlock Clusters.
☑️ Navigate to Managed Clusters page.
☑️ Click on Create Cluster first, then input:
Label for your cluster to find it later easily,
Cluster Size - see ✔️ Introduction.
We strongly recommend creating separate clusters for your dev & production environments.
☑️ Review estimated cost and click Create Cluster to start your new cluster.
☑️ Once the cluster is ready, click Kubeconfig to download your configuration and credentials for connecting and administrating your new cluster.
☑️ Move your kubeconfig file for kubectl to find it.
☑️ Lens users: import your kubeconfig file.
☑️ Test your cluster connection with command kubectl get nodes :
🙌 Congratulations, you’ve completed Managed Cluster setup! You may now install your services.
📦 Nakama by Heroic Labs
See 🚀 Getting Started before setting up your services on Managed Clusters.
Follow these steps to host your own Nakama Game Backend on Managed Clusters:
☑️ Install a Certificate Manager to support usage of HTTPS requests from game clients:
☑️ Lens: verify installation in Services / Network section, cert-manager should be running.
☑️ Write a Cluster Issuer file, remember to replace <YOUR_EMAIL> below:
Use letsencrypt-prod for your production cluster privateKeySecretRef.
☑️ Create a Cluster Issuer in command line:
☑️ Lens: verify installation in Custom Resources section / cert-manager.io - cluster issuer created.
☑️ Install the nginx Ingress for receiving client requests and passing them to services in cluster:
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm upgrade --install ingress-nginx ingress-nginx/ingress-nginx \
--namespace ingress-nginx --create-namespace☑️ Lens: verify installation in Services / Network section, nginx should be running.
☑️ Create a DNS record type A in your DNS provider (e.g. Cloudflare), note the URL for later. Your external IP for the DNS record can be found in Lens under Services / ingress-nginx-controller .
☑️ Verify your DNS is set up correctly by performing a lookup using DNSchecker.
☑️ Create file named values.yaml with contents (use your own values):
Replace <VALUES> above with your own values in the file above.
☑️ Deploy Nakama helm chart:
☑️ Lens: verify installation in Workloads / Deployments section, nakama should be running.
✅ Connect to your Nakama Console with URL and credentials from values.yaml file.
🙌 Congratulations, you’ve completed self-hosted Nakama Game Backend setup!
Service Updates
Follow these steps to update your service hosted in the Managed Cluster:
☑️ Update your value.yaml file with new files.
☑️ Update your helm chart using this command:
☑️ Reload your changes by closing the updated pods, causing the new helm chart to be used after we automatically restart the pods.
This update will cause a short downtime while the pods restart.
🙌 Congratulations, you’ve completed Nakama Cluster update!
👷 Advanced Matchmaker
See 🚀 Getting Started before setting up your services on Managed Clusters.
Follow these steps to host your OpenMatch on a Managed Cluster.
☑️ Install a Certificate Manager to support usage of HTTPS requests from game clients:
☑️ Lens: verify installation in Services / Network section, cert-manager should be running.
☑️ Write a Cluster Issuer file, remember to replace <YOUR_EMAIL> below:
Use letsencrypt-prod for your production cluster privateKeySecretRef.
☑️ Create a Cluster Issuer in command line:
☑️ Lens: verify installation in Custom Resources section / cert-manager.io - cluster issuer created.
☑️ Install the nginx Ingress for receiving client requests and passing them to services in cluster:
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm upgrade --install ingress-nginx ingress-nginx/ingress-nginx \
--namespace ingress-nginx --create-namespace☑️ Lens: verify installation in Services / Network section, nginx should be running.
☑️ Create a DNS record type A in your DNS provider (e.g. Cloudflare), note the URL for later. Your external IP for the DNS record can be found in Lens under Services / ingress-nginx-controller .
☑️ Verify your DNS is set up correctly by performing a lookup using DNSchecker.
☑️ Create file named values.yaml with contents (use your own values):
Replace <VALUES> above with your own values in the file above.
☑️ Add Edgegap repository to your list of repositories:
☑️ Deploy advanced matchmaker helm chart:
🙌 Congratulations, you’ve completed Advanced Matchmaker setup!
Service Updates
Follow these steps to update your service hosted in the Managed Cluster:
☑️ Update your value.yaml file with new files.
☑️ Update your helm chart using this command:
☑️ Reload your changes by closing the updated pods (director, mmf, frontend), causing the new helm chart to be used after we automatically restart the pods.
This update will cause a short downtime while the pods restart.
🙌 Congratulations, you’ve completed Advanced Matchmaker update!
Continuous Deployment
Automate updating your services by adding this shell script to your deployment pipeline:
This update will cause a short downtime while the pods restart.
Letsencrypt Certificate Validation (C#)
For some clients, the recommended Letsencrypt certificate validation may fail with error:
Updating your operating system may resolve issues with outdated root certificate authority.
As a last resort, game clients may implement a custom certificate handler function:
Usage:
We recommend storing the EXPECTED_CERT value in your own file storage, and retrieving it on runtime, so you can update it without releasing a game client update.
🟢 Operations and Observability
Cluster Tier Changes
Prepare for success and optimize after launch, so you don’t block your players on release day.
Changing cluster size requires stopping your cluster. See blue/green deployment for zero downtime updates.
Support and Future Updates
Your success is our priority. If you'd like to send custom requests, ask for missing critical features , or express any thoughts, please reach out in our Community Discord.
Last updated
Was this helpful?

