Introduction
OpenStack repose sur un certains nombre de services parfois optionnels. Cette page décrit les services installés au sein du Cloud OpenStack du LAL et leur utilité. On distingue 2 types de services: les services OpenStack développés dans le cadre du projet OpenStack et les services extérieurs nécessaires aux fonctionnement d’OpenStack.
Les services OpenStack
Il y en a cinq:
- horizon: dashboard web pour OpenStack. Ce service fourni une interface web pour l’utilisation du cloud OpenStack. Si certaines opérations ne sont pas accessibles via l’interface web, celle-ci permet de réaliser la plupart des actions nécessaires à l’utilisation d’OpenStack
- keystone: service d’identification permettant de donner les droits d’accès aux utilisateurs. La base des utilisateurs n’est pas elle même gérée dans keystone.
- nova: service de gestion des machines virtuelles.
- glance: service de gestion des images gérant la liste des images système disponibles pour le Cloud OpenStack. Ces images peuvent être privées (uniquement accessibles aux utilisateurs du projet) ou publiques (accessible à tous le monde).
- neutron: service de gestion du réseau fournissant le réseau aux machines virtuelles. Ce service permet aussi aux utilisateurs de réaliser leur propre réseau virtuel (basé sur la technologie vxlan).
Les services extérieurs
Il y en a quatre:
- mariadb: service de base de donnée stockant la plupart des informations relatives au fonctionnement d’OpenStack. Il n’est pas accessible aux utilisateurs.
- apache: service web. Apache est utilisé par les services keystone et horizon. Il permet dans le cadre d’horizon de fourni l’accès web et dans le cas de keystone l’accès à l’API mais aussi aux bases de données utilisateurs extérieurs (dont l’identité est définie par d’autres services, dans d’autres domaines).
- memcached: service de stockage temporaire d’information. Basé sur le stockage d’information de type key/value il permet à OpenStack la distribution des tokens d’identification pour les différents services.
- rabbitmq: service de message passing qui permet aux différentes machines et services d’OpenStack de communiquer entre eux. C’est en particulier rabbitmq qui permet aux compute node de communiquer avec le controller.