VT2020-Peloton-Fiche: Difference between revisions

From air
Jump to navigation Jump to search
Line 19: Line 19:
'''Peloton API''' : utilise Protocol Buffers comme langage de définition de l'interface et YARPC comme runtime RPC. Peloton UI, Peloton CLI et les autres extensions de Peloton sont toutes construites sur la même API.
'''Peloton API''' : utilise Protocol Buffers comme langage de définition de l'interface et YARPC comme runtime RPC. Peloton UI, Peloton CLI et les autres extensions de Peloton sont toutes construites sur la même API.


'''Host Manager''' : extrait les détails de Mesos des autres composants Peloton. Il s'enregistre avec Mesos via l'API HTTP de Mesos.
'''Host Manager''' : extrait, des autres composants, les détails sur les ressources disponibles grâce à Mesos.


'''Resource Manager:''' : maintient la hiérarchie des pools de ressources et calcule périodiquement le droit aux ressources de chaque pool de ressources, qui est ensuite utilisé pour planifier ou anticiper les tâches en conséquence.
'''Resource Manager:''' : maintient la hiérarchie des ensembles de ressources et calcule périodiquement le droit aux ressources de chaque ensemble de ressources, qui est ensuite utilisé pour planifier ou anticiper les tâches en conséquence.


'''Placement Engine''' : trouve le placement (c'est-à-dire le mappage de la tâche à l'hôte) en prenant en considération les contraintes du travail et de la tâche ainsi que les attributs de l'hôte. Les moteurs de placement peuvent être connectés à différents types d'emplois, tels que les services à état et les emplois par lots.
'''Placement Engine''' : trouve le placement (c'est-à-dire le mappage de la tâche à l'hôte) en prenant en considération les contraintes du travail et de la tâche ainsi que les attributs de l'hôte. Les moteurs de placement peuvent être connectés à différents types d'emplois, tels que les travaux par lots.


'''Job Manager''' : gère le cycle de vie des emplois, des tâches et des volumes. Il prend également en charge les mises à jour continues des tâches d'un emploi pour les services de longue durée.
'''Job Manager''' : gère le cycle de vie des jobs, des tâches et des volumes. Prend également en charge les mises à jour continues des tâches d'un job pour les services de longue durée.


'''Storage Gateway''' : fournit une couche d'abstraction au-dessus des différents backends de stockage afin de pouvoir migrer d'un backend de stockage à l'autre sans changement significatif dans Peloton lui-même. Nous avons un backend par défaut pour Cassandra intégré, mais nous pouvons l'étendre à d'autres backends.
'''Storage Gateway''' : fournit une couche d'abstraction au-dessus des différents backends de stockage afin de pouvoir migrer d'un backend de stockage à l'autre sans changement significatif dans Peloton lui-même. Contient un backend (intégré) par défaut pour Cassandra, mais avec la possibilité d'étendre à d'autres backends.


'''Group Membership''' : gère l'ensemble des instances maîtresses de Peloton et élit un chef pour à la fois s'inscrire à Mesos en tant que cadre et instancier un gestionnaire de ressources.
'''Group Membership''' : gère l'ensemble des instances de Peloton et élit un leader pour à la fois s'inscrire à Mesos en tant que framework et instancier un gestionnaire de ressources.


= Avantages et inconvénients =
= Avantages et inconvénients =

Revision as of 21:13, 16 January 2021

Peloton est un planificateur de ressources unifié introduit pour la première fois par Uber en novembre 2018.


Peloton

Peloton est un planificateur de ressources unifié introduit pour la première fois par Uber en novembre 2018, qui permet de gérer les ressources sur des charges de travail distinctes. C'est une technologie qui a été conçue pour les entreprises comme Uber pratiquant du web-scale IT avec des millions de conteneurs et des dizaines de milliers de nœuds.


Architecture

Architecture

Pour garantir une haute disponibilité et une grande évolutivité, Peloton utilise une architecture active-active avec quatre types de démons distincts : le gestionnaire de tâches, le gestionnaire de ressources, le moteur de placement et le gestionnaire d'hôtes. Les interactions entre ces démons sont conçues de manière à minimiser les dépendances et à ne se produire que dans une seule direction.


Composants

Peloton UI : une interface web pour la gestion des emplois, des tâches, des volumes et des ensembles de ressources dans Peloton.

Peloton CLI : une interface de ligne de commande pour Peloton avec des fonctionnalités similaires à celles de l'interface web.

Peloton API : utilise Protocol Buffers comme langage de définition de l'interface et YARPC comme runtime RPC. Peloton UI, Peloton CLI et les autres extensions de Peloton sont toutes construites sur la même API.

Host Manager : extrait, des autres composants, les détails sur les ressources disponibles grâce à Mesos.

Resource Manager: : maintient la hiérarchie des ensembles de ressources et calcule périodiquement le droit aux ressources de chaque ensemble de ressources, qui est ensuite utilisé pour planifier ou anticiper les tâches en conséquence.

Placement Engine : trouve le placement (c'est-à-dire le mappage de la tâche à l'hôte) en prenant en considération les contraintes du travail et de la tâche ainsi que les attributs de l'hôte. Les moteurs de placement peuvent être connectés à différents types d'emplois, tels que les travaux par lots.

Job Manager : gère le cycle de vie des jobs, des tâches et des volumes. Prend également en charge les mises à jour continues des tâches d'un job pour les services de longue durée.

Storage Gateway : fournit une couche d'abstraction au-dessus des différents backends de stockage afin de pouvoir migrer d'un backend de stockage à l'autre sans changement significatif dans Peloton lui-même. Contient un backend (intégré) par défaut pour Cassandra, mais avec la possibilité d'étendre à d'autres backends.

Group Membership : gère l'ensemble des instances de Peloton et élit un leader pour à la fois s'inscrire à Mesos en tant que framework et instancier un gestionnaire de ressources.

Avantages et inconvénients

Avantages

Inconvénients

Sources

Documentation : https://peloton.readthedocs.io/en/latest/

Github : https://github.com/uber/peloton

Veille Technologique 2020

  • Année : VT2020
  • Sujet : Peloton
  • Slides :
  • Auteur : Rim EL JRAIDI