Clusters gérés

Découvrez les Managed Clusters et commencez rapidement avec des solutions backend personnalisées.

✔️ Introduction

Les Managed Clusters facilitent et accélèrent l'hébergement de services de jeu auto-gérés et de backends personnalisés. Vous préparez l'image du service et nous fournissons un environnement cloud résilient et à haute disponibilité pour les exécuter :

  • authentification des joueurs,

  • stockage de données - comptes, progression, inventaire, récompenses, ...

  • services sociaux - chat, clans, tableaux de classement, tournois, ...

  • matchmaking personnalisé - en utilisant Clusters gérés, Clusters gérés, ...

  • compute serverless - géré fonctions en tant que service (alt. cloudscript, lambda), ...

Les clusters privés garantissent que vos services disposent de ressources de calcul dédiées pour servir vos joueurs 24h/24 et 7j/7.

Nous proposons actuellement 3 niveaux de cluster privé pour répondre aux besoins de chacun :

Niveau
Niveau Hobbyist
Niveau Studio
Niveau Enterprise

Idéal pour

passionnés, développeurs solo

versions commerciales

lancements à fort trafic

Ressources

1 vCPU + 2 Go de RAM

6 vCPU + 12 Go de RAM

18 vCPU + 48 Go de RAM

Redondance

1x nœud virtuel

3x nœuds virtuels

3x nœuds virtuels

Limite de débit (req/s)

200

750

2,000

Prix, horaire

$0.0312

$0.146

$0.548

Prix, 30 jours (utilisation continue)

$22.464

$105.12

$394.56

Nos machines de cluster utilisent des CPU AMD/Intel avec une fréquence d'horloge de 2,4 à 3,2 GHz. Contactez-nous sur Community Discord pour coordonner les tests de charge et vous assurer que votre serveur dispose des ressources suffisantes.

🛠️ Outils pour développeurs

Si vous voyez une opportunité d'amélioration, veuillez nous le faire savoir dans notre Community Discord.

Nous espérons que vous apprécierez une expérience fluide. 🚀

Docker

Pour aider à rendre votre serveur fiable, nous utilisons Docker - un logiciel de virtualisation pour garantir que toutes les dépendances de votre code serveur jusqu'au niveau du système d'exploitation seront toujours exactement les mêmes, peu importe comment ou où le serveur est lancé.

Nous recommandons de regarder "Ne jamais installer localement" (vidéo). Vous n'avez PAS besoin d'utiliser Dockerhub avec Docker. Docker ≠ Dockerhub. Considérez Docker comme un moteur de programmation et Dockerhub comme son App Store.

Kubernetes (K8s)

Kubernetes, également connu sous le nom de K8s, est un système open source pour automatiser le déploiement, la mise à l'échelle et la gestion d'applications conteneurisées (images Docker). Il regroupe les conteneurs qui constituent une application en unités logiques pour une gestion et une découverte faciles.

Les Edgegap Managed Clusters fournissent une API Kubernetes pour des besoins d'administration.

K8s Lens

Avec plus d'un million d'utilisateurs, K8s Lens est l'IDE Kubernetes le plus populaire au monde. Connectez-vous aux clusters, explorez, obtenez des informations, apprenez et prenez des mesures lorsque nécessaire. Lens fournit toutes les informations de vos workloads et ressources en temps réel, toujours dans le bon contexte.

L'API Kubernetes du cluster Edgegap peut être utilisée via Lens ou d'autres IDE Kubernetes.

Gestionnaire de paquets Helm

Helm est le meilleur moyen de trouver, partager et utiliser des logiciels conçus pour Kubernetes. Helm vous aide à gérer les applications Kubernetes - les Helm Charts vous aident à définir, installer et mettre à niveau même les applications Kubernetes les plus complexes. Les charts sont faciles à créer, versionner, partager et publier - alors commencez à utiliser Helm et arrêtez le copier-coller.

Installation du CLI Helm fournit aux développeurs une interface simple pour gérer leurs packages de cluster.

🚀 Pour commencer

☑️ Inscrit pour votre compte Edgegap gratuit et passez au niveau pay-as-you-go pour débloquer les Clusters.

☑️ Naviguez vers Managed Clusters page.

☑️ Cliquez sur Create Cluster d'abord, puis saisissez :

  • Étiquette pour votre cluster afin de le retrouver facilement plus tard,

  • Taille du cluster - voir ✔️ Introduction.

☑️ Passez en revue le coût estimé et cliquez Create Cluster pour démarrer votre nouveau cluster.

☑️ Une fois le cluster prêt, cliquez sur Kubeconfig pour télécharger votre configuration et vos identifiants pour vous connecter et administrer votre nouveau cluster.

☑️ Déplacez votre fichier kubeconfig pour kubectl pour le trouver.

☑️ Utilisateurs de Lens : importez votre fichier kubeconfig.

☑️ Testez la connexion à votre cluster avec la commande kubectl get nodes :

🙌 Félicitations, vous avez terminé la configuration du Managed Cluster ! Vous pouvez maintenant installer vos services.

📦 Nakama par Heroic Labs

Suivez ces étapes pour héberger votre propre Nakama Game Backend sur Managed Clusters :

☑️ Installer un Gestionnaire de certificats pour prendre en charge l'utilisation des requêtes HTTPS depuis les clients de jeu :

☑️ Lens : vérifier l'installation dans la section Services / Réseau, cert-manager devrait être en cours d'exécution.

☑️ Rédiger un Cluster Issuer fichier, n'oubliez pas de remplacer <YOUR_EMAIL> ci-dessous :

☑️ Créez un Cluster Issuer en ligne de commande :

☑️ Lens : vérifier l'installation dans la section Custom Resources / cert-manager.io - cluster issuer créé.

☑️ Installer le Ingress nginx pour recevoir les requêtes client et les transmettre aux services dans le 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 : vérifier l'installation dans la section Services / Réseau, nginx devrait être en cours d'exécution.

☑️ Créez un enregistrement DNS de type A chez votre fournisseur DNS (par ex. Cloudflare), notez l'URL pour plus tard. Votre IP externe pour l'enregistrement DNS peut être trouvée dans Lens sous Services / ingress-nginx-controller .

☑️ Vérifiez que votre DNS est correctement configuré en effectuant une recherche en utilisant DNSchecker.

☑️ Créez un fichier nommé values.yaml avec le contenu suivant (utilisez vos propres valeurs) :

☑️ Déployez le chart helm Nakama :

☑️ Lens : vérifiez l'installation dans la section Workloads / Deployments, nakama devrait être en cours d'exécution.

Connectez-vous à votre console Nakama avec l'URL et les identifiants du values.yaml fichier.

🙌 Félicitations, vous avez terminé la configuration du Nakama Game Backend auto-hébergé !

Mises à jour du service

Suivez ces étapes pour mettre à jour votre service hébergé dans le Managed Cluster :

☑️ Mettez à jour votre value.yaml fichier avec les nouveaux fichiers.

☑️ Mettez à jour votre chart helm en utilisant cette commande :

☑️ Rechargez vos modifications en fermant les pods mis à jour, ce qui fera que le nouveau chart helm sera utilisé après que nous redémarrions automatiquement les pods.

🙌 Félicitations, vous avez terminé la mise à jour du cluster Nakama !

👷 Matchmaker avancé

Suivez ces étapes pour héberger votre OpenMatch sur un Managed Cluster.

☑️ Installer un Gestionnaire de certificats pour prendre en charge l'utilisation des requêtes HTTPS depuis les clients de jeu :

☑️ Lens : vérifier l'installation dans la section Services / Réseau, cert-manager devrait être en cours d'exécution.

☑️ Rédiger un Cluster Issuer fichier, n'oubliez pas de remplacer <YOUR_EMAIL> ci-dessous :

☑️ Créez un Cluster Issuer en ligne de commande :

☑️ Lens : vérifier l'installation dans la section Custom Resources / cert-manager.io - cluster issuer créé.

☑️ Installer le Ingress nginx pour recevoir les requêtes client et les transmettre aux services dans le 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 : vérifier l'installation dans la section Services / Réseau, nginx devrait être en cours d'exécution.

☑️ Créez un enregistrement DNS de type A chez votre fournisseur DNS (par ex. Cloudflare), notez l'URL pour plus tard. Votre IP externe pour l'enregistrement DNS peut être trouvée dans Lens sous Services / ingress-nginx-controller .

☑️ Vérifiez que votre DNS est correctement configuré en effectuant une recherche en utilisant DNSchecker.

☑️ Créez un fichier nommé values.yaml avec le contenu suivant (utilisez vos propres valeurs) :

☑️ Ajoutez le dépôt Edgegap à votre liste de dépôts :

☑️ Déployez le chart helm du matchmaker avancé :

🙌 Félicitations, vous avez terminé la configuration du Matchmaker avancé !

Mises à jour du service

Suivez ces étapes pour mettre à jour votre service hébergé dans le Managed Cluster :

☑️ Mettez à jour votre value.yaml fichier avec les nouveaux fichiers.

☑️ Mettez à jour votre chart helm en utilisant cette commande :

☑️ Rechargez vos modifications en fermant les pods mis à jour (director, mmf, frontend), ce qui fera que le nouveau chart helm sera utilisé après que nous redémarrions automatiquement les pods.

🙌 Félicitations, vous avez terminé la mise à jour du Matchmaker avancé !

Déploiement continu

Automatisez la mise à jour de vos services en ajoutant ce script shell à votre pipeline de déploiement :

Validation du certificat Letsencrypt (C#)

Pour certains clients, la validation recommandée du certificat Letsencrypt peut échouer avec l'erreur :

En dernier recours, les clients de jeu peuvent implémenter une fonction personnalisée de gestionnaire de certificat :

Utilisation :

Nous recommandons de stocker la valeur EXPECTED_CERT dans votre propre stockage de fichiers, et de la récupérer à l'exécution, afin de pouvoir la mettre à jour sans publier une mise à jour du client de jeu.

🟢 Opérations et observabilité

Modifications du niveau de cluster

Préparez-vous au succès et optimisez après le lancement, afin de ne pas bloquer vos joueurs le jour de la sortie.

Support et mises à jour futures

Votre succès est notre priorité. Si vous souhaitez envoyer des demandes personnalisées, demander des fonctionnalités critiques manquantes, ou partager vos remarques, veuillez rejoindre notre Community Discord.

Mis à jour

Ce contenu vous a-t-il été utile ?