Bienvenue à tous voici le premier article de la série dédiée à l’installation d’OpenStack.

Pour commencer je vais rapidement rappeler ce qu’est OpenStack.
OpenStack est un projet libre initié en 2010 par la NASA et la société Rackspace qui a pour but de permettre a toute organisation qui le souhaite les moyens d’offrir des services de type cloud computing sur du matériel standard.

Une infrastructure OpenStack est composée d’un ensemble de logiciels open-source qui vont permettrent le déploiement d’infrastructure de type IaaS (Infrastructure as a Service).
Cette conception modulaire permet de gérer l’ensemble des ressources nécéssaires au fonctionnement de la plateforme.

Enfin ce projet est soutenue par la  Fondation OpenStack qui a pour but de promouvoir OpenStack mais aussi de fédérer les développeurs et la communauté qui s’est construite autour de ce projet.

Dans ce premier article nous allons voir comment mettre en place les pré-requis nécessaires au bon déploiement d’OpenStack.

Présentation de l’infrastructure déployée

Pour commencer je vais vous détailler l’ensemble des serveurs nécessaires pour faire fonctionner votre plateforme OpenStack.

Les services indispensables

Une plateforme OpenStack se compose de plusieurs composants obligatoires, en voici une liste exhaustive:

Nom de l'application Fonction
Keystone Service d'authentification
Glance Service de gestion d'image
Nova Hyperviseur de virtualisation
Neutron Service de gestion du réseau
Horizon Interface web de gestion

Configuration réseau des serveurs

La configuration détaillée ci-dessous est déployée sous Ubuntu 16.04 64 Bits.

Configuration des interfaces réseaux

La configuration du réseau s’effectue dans le fichier /etc/network/interfaces. Pour notre plateforme nous allons fixer les adresses IP de nos serveurs.
Chaque serveurs va avoir deux cartes réseaux connectées sur un réseau différents.

Un premier réseau dit d’administration et de gestion: C’est le réseau qui sera utilisé pour que les serveurs communiquent entre eux ainsi que pour les administrés.

Un deuxième réseau pour les instances virtuelles: C’est le réseau qui sera utilisé pour déployer les machines virtuelles et les conteneurs.

Pour configurer vos cartes réseaux procéder comme ceci:

Editer le fichier de la manière suivante: (/!\ adapter les valeurs à votre environnement)

Configuration de la résolution de noms

Pour configurer le/les serveurs DNS:

Editer le fichier de la manière suivante: (/!\ adapter les valeurs à votre environnement)

Puis redémarrer les serveurs

Configuration du service NTP

Pour la configuration de ce service, deux types configurations sont à réaliser. Une première sur le serveur contrôleur et une deuxième sur tout les autres serveurs.

Serveur contrôleur

On commence par installer le paquet du serveur NTP

Dans le fichier /etc/chrony/chrony.conf, supprimer les lignes commençant par « server NTP_SERVER iburst » et ajouter les lignes suivantes

Puis autoriser votre sous-réseau interroger votre serveur en ajoutant :

Redémarrer le service :

On vérifie que tout fonctionne avec la commande

Autres serveurs

Dans le fichier /etc/chrony/chrony.conf, supprimer les lignes commençant par « server NTP_SERVER iburst » et ajouter la ligne suivante:

Redémarrer le service :

On vérifie que tout fonctionne avec la commande

Ajout de dépôts pour les paquets OpenStack Ocata

La mise en place des dépôts doit ce faire sur l’ensemble des serveurs de l’infrastructure avec le même niveau de version.

On va vérifie tout d’abords que le paquet Ubuntu de gestion simplifiée des dépôts est installé:

Puis on ajoute le dépôt OpenStack Ocata sur l’ensemble des nœuds de la plateforme:

Il faut maintenant mettre à jours le cache des dépôts et les serveurs:

Et enfin on déploie le client  OpenStack:

Mise en place de la base de donnée SQL

Le service de base de donnée doit être installé sur le nœud contrôleur de votre infrastructure.

On utilise la version de MariaDB disponible dans les dépôts officiel Ubuntu.

Puis on créer le fichier de configuration pour le déploiement d’OpenStack:

Puis copier le contenu suivant dans le fichier:

Redémarrer votre service de base de donnée

Puis initialisez votre instance:

Mise en place du service RabbitMQ

Le service RabbitMQ est un service de queue de messagerie qui permet la transmission de messages entre les différents composants d’OpenStack il est donc l’une des couche fondamentale de votre infrastructure.

On commence par installer le serveur RabbitMQ depuis les dépôts Ubuntu:

On créer ensuite l’utilisateur « openstack » dans RabbitMQ

Puis on donne les droits en lecture et écriture à ce même utilisateur

Mise en place de Memcache

Pour finir la mise en place de l’environnement de base nécessaire a OpenStack il reste a mettre en place un service de cache en mémoire, c’est a ce moment qu’intervient Memcached.
Ce service n’est déployer que sur le serveur contrôleur.

On comment par l’installer depuis les dépôt Ubuntu

Puis éditez le fichier de configuration de memcached et remplacer la ligne suivante:

par

La configuration configuration de l’ensemble des pré-requis nécessaires au déploiement d’OpenStack est terminé. Je vous invite a suivre la suite du déploiement d’OpenStack sur cet article « Mettre en place Keystone dans sa plateforme OpenStack » qui traite de la mise en place de « Keystone » le service d’authentification utilisé par OpenStack.