0% ont trouvé ce document utile (0 vote)
0 vues35 pages

TP 1 _ Installation d’Openstack

Ce document présente un travail pratique sur l'installation d'OpenStack, en abordant différentes méthodes telles que MicroStack, DevStack et une installation manuelle. Il détaille les étapes d'installation, la configuration des services, ainsi que la gestion des ressources et des utilisateurs via le tableau de bord Horizon. Enfin, il souligne la complexité et la richesse de l'écosystème OpenStack à travers ces différentes approches.

Transféré par

albadaramedoune
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
0 vues35 pages

TP 1 _ Installation d’Openstack

Ce document présente un travail pratique sur l'installation d'OpenStack, en abordant différentes méthodes telles que MicroStack, DevStack et une installation manuelle. Il détaille les étapes d'installation, la configuration des services, ainsi que la gestion des ressources et des utilisateurs via le tableau de bord Horizon. Enfin, il souligne la complexité et la richesse de l'écosystème OpenStack à travers ces différentes approches.

Transféré par

albadaramedoune
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TP 1 : Installation d’Openstack

Alioune Badara Médoune Diene


Mamadou Lamine Fofana

Introduction :

OpenStack est une plateforme cloud open source qui permet de


créer et gérer des infrastructures cloud (IaaS — Infrastructure as
a Service). Il est utilisé par des entreprises, universités et
opérateurs télécom pour construire leurs propres clouds privés ou
publics.
Il fonctionne comme un ensemble de services interconnectés,
chacun responsable d'une ressource spécifique du cloud. Ces
services communiquent entre eux via des API REST.

Tâche 1 : Mise en oeuvre via MicroStack (Single-node)

1- Installation du paquet microstack en version bêta : sudo snap


install microstack –beta

2- Initialisation en utilisant la commande : sudo microstack


–auto –control
L’option –auto évite les questions interactives et –control indique
que c’est le nœud principal.

3- Analyse des ressources par défaut :

a)​Quelle est la commande permettant de lister les images


disponibles dans Glance
Cette commande affiche un ID qui est un identifiant unique de
l’image, Name qui correspond au nom de l’image et Status à son
état (active/queued,etc)

b)​Citez le nom de l’image système installée par défaut lors de


l’initialisation

Le nom de l’image système installée par défaut est cirros. C’est


une image Linux légère conçue pour tester les environnements
Openstack en vérifiant si le cloud fonctionne correctement.

c)​Identifiez le réseau créé automatiquement. Quel est son


nom et sa plage d’adresses IP (CIDR)

La commande : [Link] network list permet de


lister les réseaux. Le réseau créé automatiquement est : test

Pour connaître sa plage d’adresse, on tape la commande :


[Link] subnet list. Son CIDR est
[Link]/24
d)​Listez les Flavors(Gabarits). Quelles sont les
caractéristiques (RAM/CPU/Disque) de la flavor [Link] ?

Pour lister les flavors ou gabarits qui sont des modèles de


configuration matérielles pour les VM dans Openstack, on tape la
commande : [Link] flavor list. Ils sont choisis
avant d’instancier une VM Openstack

La flavor [Link] possède 512 MB de RAM, 1 GB de disque et 1


vCPUS.
Pour voir les détails précis d’une flavor, on peut taper la
commande [Link] flavor show [Link].
Tâche 2 : Exploration du Dashboard Horizon

1- Authentification : Générer le mot de passe administrateur et


connectez vous via l’adresse ip de votre serveur

Pour générer et récupérer le mot de passe administrateur, nous


allons taper la commande suivante :
Maintenant nous allons nous connecter via l’adresse ip de notre
serveur.

2- Gestion des identités :


a)​Créer un nouveau projet nommé IABD_Project
b)​Créez un utilisateur, affectez le à ce projet et définissez ses
quotas de ressources

Après avoir crée un utilisateur nommé alioune, nous l’avons


ajouté au projet lors de sa création.
Et nous pouvons modifier ses quotas.
3- Infrastructures Réseau : Configurer la topologie suivante :

​ – Un réseau privé avec son sous-réseau associé

Commençons d’abord par créer le réseau privé


Maintenant le sous-réseau associé
​ – Un routeur assurant la liaison entre le réseau public et
privé

Commençons par créer le routeur


Ensuite connectons le réseau privé au routeur en ajoutant une
interface
Nous pouvons visualiser notre topologie :

4- Lancement d’instances

​ – Importation d’une image Debian officielle


​ – Démarrer 2 instances CirrOs et Debian
​ – Tester l'accès aux consoles via l’interface SPICE/VNC
intégrée

Tache 3 : Alternative de développement : DevStack

1- Préparer une nouvelle VM sous Debian 12


2- Cloner le dépôt officiel de DevStack et configurer le fichier
[Link]

Commençons par installer git avec la commande : sudo apt


install git -y. Ensuite clonons le dépôt DevStack avec la
commande : git clone
[Link]
Nous pouvons désormais nous déplacer dans le dossier devstack
et créer le fichier [Link]
3- Procéder a l’installation via le script [Link]

Depuis le répertoire ~/devstack, tapons la commande : ./[Link]


4- Question de synthèse :

-​ Comparaison

Pour ce faire, nous présentons ci-dessous un tableau comparatif


qui met en parallèle MicroStack et DevStack selon 6 critères
essentiels :

Critère MicroStack DevStack


Installation Simple, 1 commande : sudo snap install microstack --beta Script interactif : git clone
[Link] &&
./[Link]
Initialisation Automatique : sudo microstack init --auto --control Via fichier de config : nano [Link] puis ./[Link]
Services disponibles Minimal (5 services) : Nova, Glance, Neutron, Keystone, Horizon Complet + extensible : Nova, Glance, Neutron, Keystone,
Horizon, Cinder, Swift, Heat…
Persistance des
données
✅ Données conservées après redémarrage ❌ Reset à chaque ./[Link], tout est effacé avec
./[Link]
Ressources requises Léger : ≥ 4 Go RAM, 2 vCPUs, 50 Go disque Gourmand : ≥ 8 Go RAM, 4 vCPUs, 60 Go disque
Dashboard Horizon Accessible via [Link] Accessible via [Link]
Usage idéal Démo, lab, production légère Développement logiciel, contribution OpenStack

Pour le développement logiciel, DevStack est plus adapté car le


code source est accessible, on peut modifier directement les
services OpenStack et les personnaliser, enfin les logs sont
visibles.

Tâche 4 : Installation Manuelle (Approche Production)

Principe : Contrairement aux outils automatisés, vous devez


installer et configurer chaque service un par un (SQL, Database,
Message Queue, Keystone, Glance, Nova, etc.).

​ -Configuration du nom d'hôte


Dans une architecture OpenStack, chaque machine a un rôle
précis (controller, compute, storage...). Le nom d'hôte controller
permet aux services OpenStack de s'identifier et de communiquer
entre eux correctement.
Le fichier /etc/hosts associe ce nom d'hôte à l'adresse IP de la
machine. Ainsi, quand Keystone ou Glance cherchent à joindre le
"controller", ils savent exactement quelle adresse IP contacter
même sans DNS.

​ -Configuration de l’heure

OpenStack utilise des tokens temporaires. Si l’heure diffère


entre les services, ces tokens sont considérés comme expirés et
toute communication entre services échoue. NTP garantit que
tous les services partagent la même heure.
Pour l’installer on tape la commande : sudo apt install chrony -y
puis on active et démarre le service :
-sudo systemctl enable chrony
-sudo systemctl start chrony

-Dépôt OpenStack

Ubuntu ne contient pas les paquets OpenStack dans ses


dépôts officiels par défaut. On doit ajouter le dépôt Cloud
Archive de Canonical qui contient les versions stables
d’OpenStack packagées spécifiquement pour Ubuntu.
Commençons par l’installation :
Installons ensuite le client OpenStack avec : sudo apt install
python3-openstackclient -y et vérifions que le client est bien
installé :

-Configuration de la base de donnée MariaDB


Tous les services OpenStack ont besoin de stocker leurs données
quelque part. MariaDB est la base de données recommandée
dans la documentation officielle.
Pour l’installer, tapons la commande : sudo apt install
mariadb-server python3-pymysql -y
Maintenant configurons le fichier de configuration : sudo nano
/etc/mysql/[Link].d/[Link]

Ensuite on peut démarrer le service et le sécuriser :


​ -RabbitMQ

Les services de OpenStack ne communiquent pas directement


entre eux. Ils passent par un système de messagerie. Si Nova
veut créer une vm par exemple, il envoie un message a
RabbitMQ qui le transmet au bon service. Cela permet une
communication asynchrone et fiable entre les services.
Pour l’installer, on tape la commande : sudo apt install
rabbitmq-server -y.
Ensuite on l’active et on le démarre :
​ -sudo systemctl enable rabbitmq-server
-sudo systemctl start rabbitmq-server

Créons l’utilisateur OpenStack et donnons lui les permissions puis


vérifions que le serveur tourne :
​ -Memcached

Keystone utilise Memcached pour stocker les tokens


d’authentification en mémoire cache évitant ainsi de devoir
interroger la base de données a chaque requête et accélérant
considérablement les performances.
Pour l’installer, on fait : sudo apt install memcached
python3-memcache -y
Pour le configurer, il faut aller dans le fichier de configuration et
chercher la ligne commençant par “-l” et y mettre son adresse ip.
​ -Keystone

C’est le cœur de OpenStack. C’est lui qui gère :


●​ L’authentification de tous les utilisateurs et services
●​ Les autorisations/permissions
●​ Le catalogue de services (oú trouver quel service)
Tous les autres services doivent s’enregistrer auprès de lui et
obtenir un token avant de pouvoir communiquer entre eux.

Connectons nous à la base de donnée : sudo mysql -u root -p


puis exécutons les commandes SQL :

Puis installons keystone : sudo apt install keystone -y


Ensuite configurer keystone :
Peuplons la base de données avec la commande : sudo -s -u
keystone keystone-manage db_sync puis initialiser les clés
fernet. Fernet est un système de chiffrement symétrique utilisé
par Keystone pour sécuriser les tokens d’authentification.
​ -sudo keystone-manage fernet_setup --keystone-user
keystone --keystone-group keystone
-sudo keystone-manage credential_setup
--keystone-user keystone --keystone-group keystone

Bootstraper keystone :
Il faut aussi configurer apache2 en ajoutant dans la fichier de
configuration la ligne : ServerName controller puis redemarrer le
service apache.
Ensuite on configure les variables d’environnement avec les
commandes:
●​ export OS_USERNAME=admin
●​ export OS_PASSWORD=passer123
●​ export OS_PROJECT_NAME=admin
●​ export OS_USER_DOMAIN_NAME=Default
●​ export OS_PROJECT_DOMAIN_NAME=Default
●​ export OS_AUTH_URL=[Link]
●​ export OS_IDENTITY_API_VERSION=3

Maintenant vérifions si le token est valide :

-Glance

Glance permet de stocker et gérer les images systèmes (CirrOs,


Debian) qui seront utilisées pour créer les instances.

Commençons par créer la base de données Glance :


Créeon un utilisateur et les credentials glance dans keystone

Ajoutons le role admin, puis creons le service Glance


Maintenant créons les endpoints Glance :

Les endpoints indiquent à Keystone oú trouver le service Glance


sur le réseau. Chaque service OpenStack a 3 endpoints : public,
internal et admin.
Nous pouvons passer à l'installation de Glance : sudo apt install
glance -y puis configurer Glance :
Ensuite peupler la base de donnée : sudo -s -u glance
glance-manage db_sync, redemarrer le service glance : sudo
systemctl restart glance-api.
Testons Glance en telechargeant une image de test CirrOs :

Importons la dans Glance :


Conclusion :

Ce travail pratique nous a permis d'explorer en profondeur


l'écosystème OpenStack à travers différentes approches
d'installation et de configuration. En partant de MicroStack,
solution simplifiée et automatisée, jusqu'à l'installation manuelle
service par service, nous avons pu appréhender la complexité et
la richesse de cette plateforme cloud open source.

Vous aimerez peut-être aussi