Menu Fermer

Préparer son environnement OpenStack

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:
[wpsm_comparison_table id= »1″]

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:

sudo vi /etc/network/interfaces

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

auto INTERFACE_NAME
iface INTERFACE_NAME inet static
address IP_ADDRESS
netmask NETMASK
gateway GATEWAY

auto INTERFACE_NAME
iface INTERFACE_NAME inet manual
up ip link set dev $IFACE up
down ip link set dev $IFACE down

Configuration de la résolution de noms

Pour configurer le/les serveurs DNS:

sudo vi /etc/resolconf/resolvconf.d/base

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

nameserver IP_NAMESERVER1
nameserver IP_NAMESERVER2
search DOMAIN.TLD

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

sudo apt install chrony

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

server 0.fr.pool.ntp.org iburst
server 1.fr.pool.ntp.org iburst
server 2.fr.pool.ntp.org iburst
server 3.fr.pool.ntp.org iburst

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

allow NETWORK_IP/NETMASK

Redémarrer le service :

sudo service chrony restart

On vérifie que tout fonctionne avec la commande

chronyc sources
 

Autres serveurs

sudo apt install chrony

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

server CONTROLLER_IP iburst

Redémarrer le service :

sudo service chrony restart

On vérifie que tout fonctionne avec la commande

chronyc sources

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é:

apt install software-properties-common

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

add-apt-repository cloud-archive:ocata

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

apt update && apt dist-upgrade

Et enfin on déploie le client  OpenStack:

apt install python-openstackclient

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.

apt install mariadb-server python-pymysql

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

vi /etc/mysql/mariadb.conf.d/99-openstack.cnf

Puis copier le contenu suivant dans le fichier:

[mysqld]

bind-address = 10.0.0.11
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8

Redémarrer votre service de base de donnée

service mysql restart

Puis initialisez votre instance:

mysq_secure_installation

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:

apt install rabbitmq-server

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

rabbitmqctl add_user openstack MOT_DE_PASSE

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

rabbitmqctl set_permissions openstack ".*" ".*" ".*"

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

apt install memcached python-memcache

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

-l 127.0.0.1

par

-l IP_ADRESS

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.

Articles similaires