Quelle est la différence entre Apache Mesos et Google Kubernetes
Quelle est exactement la différence entre Apache Mesos et Google Kubernetes?
Je comprends les deux sont serveur logiciel de gestion de cluster. Quelqu'un peut-il élaborer où les principales différences sont - quand qui cadre à privilégier?
Pourquoi voudriez-vous d'utiliser Kubernetes sur le dessus de la Mésosphère?
Vous devez vous connecter pour publier un commentaire.
Kubernetes est un projet open source qui apporte de la "Google style" cluster capacités de gestion pour le monde des machines virtuelles, ou "sur le" métal scénarios. Il fonctionne très bien avec moderne environnements de système d'exploitation (comme CoreOS ou Red Hat Atomique) qui offrent de l'léger informatique "nœuds" qui sont gérés pour vous. Il est écrit dans Golang et est léger, modulaire, portable et extensible. Nous (les Kubernetes équipe) de travailler avec un certain nombre de sociétés de technologie (y compris la Mésosphère qui supervisent les Mesos projet open source) pour établir Kubernetes comme le standard de la façon d'interagir avec les grappes de calcul. L'idée est de reproduire les modèles que nous voyons des personnes ayant besoin de construire cluster applications basées sur notre expérience chez Google. Certains de ces concepts incluent:
Donc, avec Kubernetes seul, vous aurez quelque chose qui est simple, facile à mettre en oeuvre et d'exécution, portable et extensible qui ajoute "cluster" comme un nom aux choses que vous gérez dans le poids le plus léger possible. Exécuter une application sur un cluster, et arrêtez de vous inquiéter au sujet d'une personne de la machine. Dans ce cas, un cluster est une ressource flexible, tout comme une machine virtuelle. C'est une logique d'unité de calcul. Turn it up, de l'utiliser, de le redimensionner, transformer rapidement et facilement.
Avec Mesos, il y a beaucoup de chevauchement dans les conditions de la vision de base, mais les produits sont très divers points de leur cycle de vie et les différentes taches doux. Mesos est un des systèmes distribués noyau qui assemble un grand nombre de différentes machines dans une logique de l'ordinateur. Elle est née dans un monde où vous avez beaucoup de ressources physiques pour créer un big statique cluster de calcul. La grande chose, c'est que beaucoup de modernes évolutive de l'application de traitement de données fonctionne bien sur Mesos (Hadoop, Kafka, Étincelle) et c'est sympa parce que vous pouvez exécuter sur le même pool de ressources, le long de avec votre nouvel âge conteneur emballés applications. Il est un peu plus lourd poids de la Kubernetes projet, mais devient plus facile et plus facile à gérer grâce au travail de gens comme de la Mésosphère.
Maintenant ce qui est vraiment intéressant, c'est que Mesos est actuellement en cours d'adaptation pour ajouter beaucoup de Kubernetes concepts et à l'appui de la Kubernetes API. Donc ce sera une passerelle pour obtenir plus de fonctionnalités pour votre Kubernetes application (haute disponibilité master, plus avancées de planification de la sémantique, de la capacité à s'adapter à un très grand nombre de nœuds) si vous en avez besoin, et est bien adapté pour exécuter des charges de travail de production (Kubernetes est toujours dans un état alpha).
Lorsque demandé, j'ai tendance à dire:
Kubernetes est un excellent endroit pour commencer si vous êtes nouveau sur le clustering monde; c'est le moyen le plus rapide, le plus facile et le plus léger de façon à coup de pied les pneus et de commencer à expérimenter avec le cluster de développement orienté. Il offre un très haut niveau de portabilité depuis qu'elle est soutenue par un grand nombre de différents fournisseurs (Microsoft, IBM, Red Hat, CoreOs, la Mésosphère, VMWare, etc).
Si vous avez les charges de travail existantes (Hadoop, Spark, Kafka, etc), Mesos vous donne un cadre qui vous permettra d'entrelacer ces charges de travail les uns avec les autres, et les mélanger dans un peu de la nouvelle choses, y compris Kubernetes apps.
Mesos vous donne une soupape d'échappement si vous avez besoin de fonctionnalités qui ne sont pas encore mis en œuvre par la communauté dans le Kubernetes cadre.
Les deux projets visent à faciliter le déploiement d' & gérer les applications à l'intérieur de conteneurs dans votre centre de données ou d'un nuage.
Afin de déployer des applications sur le dessus de Mesos, on peut utiliser Marathon ou Kubernetes pour Mesos.
Marathon est un cluster à l'échelle de l'init et système de commande pour Linux en cours d'exécution des services dans les cgroups et les conteneurs Docker. Marathon a un certain nombre de différents canaries déployer des fonctionnalités et est très mature de projet.
Marathon s'exécute au-dessus de Mesos, qui est un très évolutif, de bataille testés et flexible gestionnaire de ressources. Marathon est prouvé à l'échelle et s'exécute dans de nombreux environnements de production.
La Mesos et de la Mésosphère de la technologie de la pile fournit un nuage de l'environnement pour l'exécution de Linux existant charges de travail, mais il fournit également un environnement d'origine de la construction de nouveaux systèmes distribués.
Mesos est un des systèmes distribués noyau, avec une API complète pour la programmation directement sur le centre de données. Il les résumés matériel sous-jacent (par exemple, le nu metal ou VMs) seulement expose les ressources. Il contient les primitives pour l'écriture d'applications distribuées (par exemple, l'Étincelle était à l'origine un Mesos Application, Chronos, etc.) comme la transmission de Messages, l'Exécution des Tâches, etc. Ainsi, les toutes nouvelles applications sont possibles. Apache Spark est un exemple pour une nouvelle (en Mesos jargon appelle) cadre qui a été construit à l'origine pour Mesos. Cela a permis très vite de développement, les développeurs de Spark n'avez pas à vous soucier de la mise en réseau pour distribuer les tâches entre les nœuds qu'il s'agit du noyau primitif dans Mesos.
À ma connaissance, Kubernetes n'est pas utilisé à l'intérieur de Google dans les déploiements de production d'aujourd'hui. Pour la production, Google utilise des Oméga/Borg, qui est beaucoup plus semblable à la Mesos/Marathon de modèle. Cependant la grande chose au sujet de l'utilisation de Mesos que la fondation est à la fois Kubernetes et Marathon peut fonctionner sur elle.
Plus de ressources sur Marathon:
https://mesosphere.github.io/marathon/
Vidéo:
https://www.youtube.com/watch?v=hZNGST2vIds
de fichier lisez-moi de kubernetes-mesos
Mesos et Kubernetes peut à la fois être utilisé pour gérer un cluster de machines et d'abstraction du matériel.
Mesos, de par sa conception, n'est-ce pas vous fournir avec un planificateur de décider où et quand exécuter des processus et quoi faire si le processus échoue), vous pouvez utiliser quelque chose comme le Marathon ou Chronos, ou écrire votre propre.
Kubernetes va faire la planification pour vous sortir de la boîte, et peut être utilisé comme un planificateur de Mesos (corrigez-moi si je me trompe!) qui est l'endroit où vous pouvez les utiliser ensemble. Mesos peut avoir plusieurs planificateurs partage le même cluster, donc, en théorie, vous pourriez exécuter kubernetes et chronos ensemble sur le même matériel.
Super simpliste: si vous souhaitez garder le contrôle sur la façon dont vos conteneurs sont prévus, aller pour Mesos, sinon Kubernetes rochers.
J'aime cette courte vidéo ici mesos matériel d'apprentissage
avec les clusters de métaux, vous devrez lancer les piles comme HDFS, ÉTINCELLE, M. etc... donc si vous lancer des tâches liées à l'aide uniquement de métal nu la gestion de cluster, il y aura beaucoup de démarrage à froid de temps.
avec mesos, vous pouvez installer ces services sur le dessus de la nue-métaux et vous pouvez éviter la mise en place de ces services de base. C'est quelque chose de mesos fait bien. et peut être utilisé par kubernetes de construction sur le dessus de cela.
"Je comprends les deux sont serveur logiciel de gestion de cluster."
Cette déclaration n'est pas tout à fait vrai. Kubernetes ne pas gérer les clusters de serveurs, il orchestre des conteneurs tels qu'ils travaillent ensemble avec un minimum de tracas et de l'exposition. Kubernetes vous permet de définir les parties de votre application comme "gousses" (un ou plusieurs conteneurs) qui sont livrées par les "mutations" ou "démon de jeux" (et quelques autres) et exposés au monde extérieur par l'intermédiaire des services.
Cependant, Kubernetes ne pas gérer le cluster lui-même (il existe des outils qui peuvent disposition, à configurer et à l'échelle des clusters pour vous, mais ceux qui ne font pas partie de Kubernetes lui-même).
Mesos sur l'autre main se rapproche de la "gestion de cluster" en ce qu'elle peut contrôler ce qui est de la course où, mais pas seulement en termes de planification des conteneurs. Mesos gère également la version autonome du logiciel en cours d'exécution sur le cluster de serveurs. Même s'il est surtout utilisé comme une alternative à Kubernetes, Mesos pouvez facilement travailler avec Kubernetes en tant que bien que la fonctionnalité des chevauchements dans de nombreux domaines, Mesos peut faire plus (mais sur les parties qui se recouvrent Kubernetes tend à être meilleure).