Accueil › Serveur minecraft › La gestion de Kubernetes pour 'Minecraft' présente des caractéristiques informatiques d'entreprise
– Monter un serveur MineCraft
Serveur minecraft
La gestion de Kubernetes pour 'Minecraft' présente des caractéristiques informatiques d'entreprise
– Monter un serveur MineCraft
Le
4 mai 2019
-
7 minutes de lecture
UNE Minecraft Les défis de la gestion des conteneurs sur les réseaux sociaux reflètent ceux de nombreux grands magasins informatiques.
Mineteria Inc., une petite start-up avec un effectif réparti de 10 employés et des partenaires financiers, semble au début un cas typique pour la direction de Kubernetes. Contrairement aux grandes entreprises, l'entreprise n'a pas à se soucier des applications et de l'infrastructure existantes; son activité est principalement réalisée sur le Web, où il gère des forums, un magasin et organise des événements en ligne pour Minecraft les joueurs.
Mais en coulisse, le flux de travail de gestion de Kubernetes de Mineteria est plus similaire à un environnement d’application dynamique, avec des connexions réseau persistantes et des exigences de haute disponibilité, à ceux prenant en charge des applications Web éphémères.
"Ce qui est unique à propos de Minecraft est-ce que nous avons une longue vie, persistante [network] connexions, "a déclaré Zach Schrier, PDG de Mineteria." Avec une application Web, s’il ya un problème mineur, vous pouvez simplement actualiser la page, et elle reviendra immédiatement. Mais avec une application de jeu, il est particulièrement important que nous maintenions la [application] Etat pour tous les joueurs ".
Les astuces de gestion de Kubernetes pour la persistance sont payantes
Lorsque Mineteria a lancé son service en 2016, il utilisait Google Cloud Platform, puis Google Kubernetes Engine, partiellement financé par les crédits du programme Google Cloud for Startups. Toutefois, au fur et à mesure de la croissance de l'entreprise, le prix de la bande passante de Google, qui atteignait 0,12 USD par gigaoctet, était problématique.
Mineteria s'est également qualifiée pour le programme de démarrage de DigitalOcean, DigitalOcean Hatch, qui propose des niveaux de tarification de la bande passante beaucoup plus intéressants et ne facture que 1 centime par gigaoctet pour un trafic dépassant les limites de bande passante intégrées pour les gouttelettes, nom de DigitalOcean pour les VM en nuage, a expliqué Schrier.
Mineteria utilise les bases de données PostgreSQL hébergées par DigitalOcean pour la plupart des données d'application avec état associées à ses applications. Toutefois, compte tenu des problèmes de connexion réseau persistants et de haute disponibilité, Mineteria a également créé ses propres applications de gestion Kubernetes pour déployer et gérer les charges de travail.
Une application écrite en Go, appelé Mineteria Controller, déploie les applications Mineteria sur les pods DigitalOcean Kubernetes une fois que les développeurs ont archivé le code dans Git et que Jenkins a terminé les versions initiales. Mineteria Controller aide également à gérer la façon dont le trafic est dirigé vers les nouvelles versions de l'application, afin que les connexions réseau persistantes ne soient pas interrompues.
Ce processus – une version d’un modèle de déploiement d’application canary – convient particulièrement aux conteneurs et à Kubernetes, a déclaré Schrier.
"Tous nos concurrents, tous les jours à 4 heures du matin, diront:" Tout le monde descend [our network]. Nous redémarrons notre système pour appliquer les mises à jour. ' Et nous n'avons pas à faire cela ", a déclaré Schrier." Nous pouvons effectuer un déploiement à l'heure de pointe lorsque plusieurs milliers de joueurs sont en ligne, car nous ne fermons pas les anciens serveurs; nous en faisons simplement de nouvelles et attendons que les gens s'y jettent. "
Les versions intégrées des applications de déploiement, telles que Netflix Spinnaker, transfèrent généralement le trafic vers de nouveaux nœuds plus rapidement que ne le souhaiterait Mineteria.
"Ce n'est pas juste un site Web", a déclaré Schrier. "Nous ne pouvons pas simplement fermer l'ancien pod immédiatement et laisser la connexion réseau être perdue."
Les paramètres par défaut de Kubernetes pour le placement des conteneurs sur les nœuds de travail sont basés sur les seuils de l'UC. Cela n’est pas suffisamment granulaire pour répondre aux besoins de Mineteria: les charges de travail peuvent évoluer de manière imprévisible si un influenceur important de YouTube dirige le trafic sur son réseau. Pour gérer cela, le Mineteria Controller attribue des charges de travail via l'API Kubernetes et l'API DigitalOcean, de sorte que les serveurs susceptibles de recevoir un trafic important ne soient pas affectés au même pod.
Kubernetes gestion des douleurs croissantes dans le nuage
Le service DigitalOcean Kubernetes, que Mineteria utilise en aperçu limité, gère une grande partie de l’administration réseau de bas niveau et de la maintenance des serveurs maîtres Kubernetes pour la société. Mais le service de démarrage a encore des problèmes à régler.
DigitalOcean ne disposant pas de service géré pour Redis, la base de données en mémoire, Mineteria gère pour l'instant son propre déploiement haute disponibilité de cette application dans trois pods connectés au sein de son infrastructure Kubernetes. Mineteria effectue des tests de chaos pour s'assurer que le service Redis restera en ligne en cas d'échec d'une gouttelette.
DigitalOcean étant également dépourvu de registre de conteneur natif, Mineteria utilise toujours la version de Google pour héberger des images de conteneur.
Nous pourrions extraire le contrôleur DO de nos grappes et, même s’il ne lancerait pas de nouvelles VM, les conteneurs de la Mineteria ne se briseraient pas. … Si un processus meurt, nous n'aurons pas d'échec catastrophique.
Zach SchrierPDG, Mineteria
Une autre application créée par Mineteria, DO Controller, alimente automatiquement les gouttelettes DigitalOcean à mesure que le cluster se développe, bien qu'une limitation de fonctionnalités dans DigitalOcean Kubernetes conserve une partie de ce manuel de processus pour l'instant. DigitalOcean ne prend pas en charge les étiquettes Kubernetes personnalisées, dont Mineteria a besoin pour déterminer où placer les pods Kubernetes sur des hôtes, via son interface utilisateur. Les administrateurs de Mineteria doivent donc exécuter manuellement les commandes kubectl pour exécuter cette fonction.
Ici, une approche de microservices assure une haute disponibilité pour les applications Mineteria, qu’il y ait des problèmes ou des retards dans le processus de provisionnement des gouttelettes.
"Nous pourrions extraire le contrôleur DO de nos clusters et, même s'il ne lancerait pas de nouvelles machines virtuelles, les conteneurs de la Mineteria ne se briseraient pas", a déclaré Schrier. "Cette séparation des préoccupations par le biais de microservices signifie que, si un processus meurt, nous n'aurons pas d'échec catastrophique."
Alors que le service DigitalOcean Kubernetes tend à la disponibilité générale en 2019, l'équipe de Schrier doit encore faire face à quelques mises à niveau perturbatrices, telles que l'introduction d'une fonctionnalité qui rend l'équilibrage de charge Kubernetes plus efficace. Un nouveau paramètre pour les équilibreurs de charge DigitalOcean utilisés avec Kubernetes réduira le temps de latence et améliorera le débit, car il réduit le nombre de sauts de réseau nécessaires pour acheminer le trafic vers une application. Mais il faudra que Mineteria reconstruise et redémarre son cluster, avec une interruption de maintenance de 30 minutes.
DigitalOcean envisage d’ajouter un registre de conteneurs hébergé et un service de base de données Redis hébergé, a déclaré un porte-parole de la société. Redis sera disponible au troisième trimestre de 2019. La société prévoit également de traiter manuellement le problème d'étiquette de nœud personnalisé actuellement géré par Mineteria, bien qu'aucun délai spécifique pour une mise à jour ne soit disponible. Une fois que le service aura atteint la disponibilité générale, des mises à jour telles que le paramètre d'équilibrage de charge Kubernetes seront fournies aux utilisateurs automatiquement et sans interruption, a déclaré le porte-parole.
Tutos Gameserver respecte votre vie privée et vos données personnelles
Nous utilisons des cookies sur notre site Web pour vous offrir l'expérience la plus pertinente en mémorisant vos préférences et vos visites répétées.
Les cookies sont utilisés pour la publicité personnalisée.
En cliquant sur "Accepter tout", vous consentez à l'utilisation de TOUS les cookies. Cependant, vous pouvez visiter "Paramètres des cookies" pour fournir un consentement contrôlé dans nos Mentions Légales.
Google et sites partenaires : Google’s Privacy & Terms site
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie
Durée
Description
cookielawinfo-checkbox-analytics
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy
11 months
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Commentaires
Laisser un commentaire