2017-05-23 4 views
0

Avant-propos: Ma question est quelque peu liée à this one, mais j'aimerais approfondir l'aspect particulier de la planification.Différences dans la planification entre Mesos et Kubernetes

Outre le fait que la planification de Kubernetes est centralisée et la planification de Mesos est décentralisée, à la suite d'un processus en deux étapes, quelles sont les différences entre les algorithmes de planification des deux projets? J'utilise Kubernetes depuis un an et demi, et je n'ai jamais utilisé Mesos en pratique. Je comprends le concept de ressources mais je ne peux pas établir une comparaison entre les algorithmes de planification Mesos et Kubernetes, principalement parce que je n'ai pas une connaissance approfondie des implémentations des deux outils.

Répondre

0

Je ne suis pas sûr que ce soit comparable. Kubernetes peut être exécuté en tant que framework Mesos. Son ordonnanceur est décrit here. Il base sur le filtrage et le classement des nœuds.

La planification en deux étapes de Mesos dépend davantage de l'algorithme du framework.

  1. Mesos présente les offres à l'infrastructure basées sur DRF algorithm. Les cadres peuvent également être hiérarchisés en utilisant des rôles et des poids.
  2. Les frameworks décident quelle tâche exécuter en fonction de l'offre. Chaque framework peut implémenter son propre algorithme pour faire correspondre la tâche avec l'offre. This is a NP hard problem

Annexe Citation de https://medium.com/@ArmandGrillet/comparison-of-container-schedulers-c427f4f7421

enter image description here

planification Monolithic

ordonnanceurs monolithes sont composés d'un seul agent de planification traitement de toutes les demandes, ils sont souvent utilisé dans informatique haute performance. Un planificateur monolithique applique généralement une implémentation à un seul algorithme pour toutes les tâches entrantes, ce qui entraîne une logique de planification différente en fonction des types de travaux. Apache Hadoop YARN [55], une architecture populaire pour Hadoop qui délègue de nombreuses fonctions de planification à des composants par application, est une architecture de planificateur monolithique en raison du fait que les requêtes de ressources doivent être envoyées à un seul planificateur global dans le maître de ressource.

à deux niveaux ordonnancement

Un planificateur à deux niveaux ajuste l'allocation des ressources à chaque planificateur dynamiquement à l'aide d'un coordinateur central de décider combien de ressources chaque sous-groupe peut avoir, il est utilisé dans Mesos [50] et a été utilisé pour Hadoop-on-Demand (maintenant remplacé par YARN).Avec cette architecture, l'allocateur évite les conflits en offrant une ressource donnée à un seul environnement à la fois et tente d'atteindre l'équité des ressources dominantes en choisissant l'ordre et la taille des ressources qu'il offre. Le contrôle est appelé pessimiste, une stratégie moins sujette aux erreurs mais plus lente par rapport à un contrôle de concurrence optimiste offrant une ressource à de nombreux frameworks en même temps.

ordonnancement état partagé

Omega accorde à chaque planificateur un accès complet à l'ensemble du cluster, leur permettant de concurrencer dans un free-for-toutes sortes. Il n'y a pas d'allocateur de ressources central lorsque toutes les décisions d'allocation de ressources prennent dans les planificateurs. Il n'y a pas de moteur d'application de la politique centrale , les planificateurs individuels prennent des décisions dans cette variante de le schéma à deux niveaux. En prenant en charge des implémentations indépendantes du planificateur et en exposant l'état d'allocation entier des planificateurs , Omega peut évoluer vers de nombreux planificateurs et fonctionne avec charges de travail différentes avec leurs propres politiques de planification [54].

+0

Lequel utilise Kubernetes? État partagé? – harpratap

+1

Planification monolithique – janisz