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

Livrable 2

Le projet consiste à déployer une architecture OpenStack Caracal (2024.1) sur des machines virtuelles, en adoptant une approche modulaire et scalable pour créer un environnement cloud fonctionnel. L'installation sur plusieurs nœuds offre des avantages tels que la scalabilité, la haute disponibilité et la performance. Le document détaille les étapes de déploiement, les services installés, ainsi que les travaux futurs liés à l'intégration de pratiques DevOps et de la blockchain.

Transféré par

Yassine Amr
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 DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
41 vues10 pages

Livrable 2

Le projet consiste à déployer une architecture OpenStack Caracal (2024.1) sur des machines virtuelles, en adoptant une approche modulaire et scalable pour créer un environnement cloud fonctionnel. L'installation sur plusieurs nœuds offre des avantages tels que la scalabilité, la haute disponibilité et la performance. Le document détaille les étapes de déploiement, les services installés, ainsi que les travaux futurs liés à l'intégration de pratiques DevOps et de la blockchain.

Transféré par

Yassine Amr
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 DOCX, PDF, TXT ou lisez en ligne sur Scribd

Livrable : Déploiement d'OpenStack Caracal (2024.

1)

OpenStack est une plateforme de cloud computing open source qui


permet de gérer des ressources informatiques, de stockage et de réseau à
grande échelle. Ce projet consiste à déployer une architecture OpenStack
complète sur des machines virtuelles, en suivant une approche modulaire
et scalable. L'objectif est de créer un environnement cloud fonctionnel,
prêt à héberger des applications et des services, tout en préparant le
terrain pour des intégrations futures telles que le déploiement DevOps et
l'intégration de la blockchain.

Ce livrable décrit les étapes clés du déploiement, les services installés, et


leur rôle dans l'écosystème OpenStack. Il se conclut par une vision des
travaux futurs, notamment l'intégration de pratiques DevOps et de la
blockchain.

Plus-value de l'Installation d'OpenStack sur Multinœuds

L'installation d'OpenStack sur plusieurs nœuds (multinœuds) offre


plusieurs avantages majeurs par rapport à une installation sur un seul
nœud :

1. Scalabilité :

o Les services peuvent être répartis sur plusieurs nœuds, ce qui


permet de gérer une charge de travail plus importante en
ajoutant des nœuds supplémentaires.

o Par exemple, nous pouvons ajouter plusieurs nœuds de calcul


pour augmenter la capacité de traitement.

2. Haute Disponibilité :

o En répartissant les services sur plusieurs nœuds, nous


réduisons le risque de panne globale. Si un nœud tombe en
panne, les autres peuvent continuer à fonctionner.

o Par exemple, le nœud contrôleur peut être dupliqué pour


assurer la redondance.

3. Performance :

o Les services sont exécutés localement sur les nœuds dédiés,


ce qui réduit la latence et améliore les performances.
o Par exemple, les opérations de stockage sont gérées
directement sur le nœud de stockage, sans surcharger le
nœud contrôleur.

4. Modularité :

o Chaque nœud est dédié à un ensemble spécifique de services,


ce qui simplifie la gestion et la maintenance.

o Par exemple, le nœud contrôleur gère les services de


coordination, tandis que le nœud de calcul gère les instances.

Comparaison avec les solutions concurrentes

Voici une comparaison entre OpenStack et d'autres solutions de cloud


computing :

Amazon
Microsoft
VMware Web
Critère OpenStack Azure
vSphere Services
Stack
(AWS)
Coûts de Coûts de Modèle de
Gratuit (open
Coût licence licence paiement à
source)
élevés élevés l'usage
Moins
Très flexible,
flexible, Dépend de Dépend
Flexibilité personnalisa
dépend de Microsoft d'AWS
ble
VMware
Scalabilité Scalabilité Scalabilité Scalabilité
Scalabilité
élevée limitée modérée très élevée
Communauté
Support Support Support
active,
Support professionn professionn professionn
support
el payant el payant el payant
commercial
Compatible
Interopérabi avec de Dépend de Dépend de Dépend
lité nombreuses VMware Microsoft d'AWS
solutions

Pour le projet OpenStack :

Prérequis

 VMware Workstation/ESXi : Pour héberger les machines


virtuelles.

 Ubuntu Server 22.04 LTS : Installé sur chaque nœud.


 Ressources Matérielles :

o Controller Node : 4 CPU, 8 Go RAM, 100 Go disque.

o Compute Node : 4 CPU, 8 Go RAM, 200 Go disque.

o Storage Node : 2 CPU, 4 Go RAM, 300 Go disque.

 Connexion Internet : Pour télécharger les paquets nécessaires.

 Nœud Contrôleur (100 Go) : Dynamiquement alloué (pour


économiser de l'espace).

 Nœud de Calcul (200 Go) : Pré-alloué (pour de meilleures


performances lors de l'exécution des instances).

 Nœud de Stockage (300 Go) : Pré-alloué (pour éviter les


problèmes de fragmentation et garantir des performances optimales
pour le stockage).

[Réseau Externe (Internet)]

| (NAT)

[Controller Node ([Link])]

| (Réseau Interne)

[Switch Virtuel]

/ | \

/ | \

[Compute Node] [Storage Node]

([Link]) ([Link])
Services Installés sur Chaque Nœud

1. Nœud Contrôleur (Controller Node)

Le nœud contrôleur est le cerveau de l'architecture OpenStack. Il héberge


les services de coordination et de gestion centrale. Les services installés
incluent :

 Keystone : Service d'identité pour l'authentification et


l'autorisation.

 Glance : Service d'images pour stocker et gérer les images de


machines virtuelles.

 Placement : Service de placement pour gérer l'inventaire des


ressources.

 Nova API et Scheduler : Services de calcul pour gérer les


instances et planifier leur placement.

 Neutron Server : Service de réseau pour gérer les réseaux et les


adresses IP.

 Horizon : Tableau de bord web pour la gestion des ressources cloud.

 Cinder API et Scheduler : Services de stockage par blocs pour


gérer les volumes.

2. Nœud de Calcul (Compute Node)

Le nœud de calcul est responsable de l'exécution des instances (machines


virtuelles). Les services installés incluent :

 Nova Compute : Service de calcul pour exécuter les instances.

 Neutron Open vSwitch Agent : Agent réseau pour gérer les


réseaux virtuels.

3. Nœud de Stockage (Storage Node)

Le nœud de stockage est dédié à la gestion des volumes de stockage. Les


services installés incluent :

 Cinder Volume : Service de stockage par blocs pour créer et gérer


les volumes.

 LVM : Logical Volume Manager pour gérer les volumes locaux.

Détail des Étapes


Étape 1 : Configuration de l'Environnement

L'objectif de cette étape était de préparer l'environnement pour le


déploiement d'OpenStack. Les actions suivantes ont été réalisées :

 Configuration d'un Adaptateur Réseau Interne : Un réseau


interne a été configuré pour permettre une communication fluide
entre les nœuds (contrôleur, calcul, stockage).

 Synchronisation Temporelle avec NTP : Le service NTP a été


configuré sur tous les nœuds pour assurer une synchronisation
temporelle précise, essentielle pour le bon fonctionnement des
services distribués.

 Installation d'OpenStack Caracal (2024.1) : OpenStack a été


installé avec les paquets nécessaires pour les services de base.

 Configuration de la Base de Données (MariaDB) : Une base de


données centralisée a été configurée pour stocker les informations
des services OpenStack.

 Installation de RabbitMQ : Un service de messagerie a été mis en


place pour permettre la communication asynchrone entre les
composants d'OpenStack.

 Configuration de Memcached : Memcached a été installé pour


optimiser les performances en mettant en cache les tokens
d'authentification.

 Installation d'Etcd : Etcd a été configuré pour stocker des données


clé-valeur distribuées, utilisées par certains services OpenStack.

Étape 2 : Service d'Identité (Keystone)

Keystone est le service d'identité d'OpenStack. Il gère l'authentification,


l'autorisation et le catalogue des services. Les actions suivantes ont été
réalisées :

 Création de la Base de Données Keystone : Une base de


données dédiée a été créée pour stocker les informations d'identité.

 Installation et Configuration de Keystone : Keystone a été


configuré pour gérer les utilisateurs, les projets et les rôles.

 Configuration d'Apache : Apache a été configuré pour héberger


l'API Keystone.
 Création de Domaines, Projets, Utilisateurs et Rôles : Une
structure hiérarchique a été mise en place pour organiser les
ressources cloud.

Étape 3 : Service d'Images (Glance)

Glance permet de stocker et de gérer les images de machines virtuelles.


Les actions suivantes ont été réalisées :

 Création de la Base de Données Glance : Une base de données


dédiée a été créée pour stocker les métadonnées des images.

 Création de l'Utilisateur Glance : Un utilisateur dédié a été créé


pour gérer les opérations liées aux images.

 Configuration des Endpoints Glance : Les endpoints de l'API


Glance ont été configurés pour permettre l'accès aux images.

 Téléchargement et Enregistrement d'Images : Une image


source (par exemple, CirrOS) a été téléchargée et enregistrée dans
Glance.

Étape 4 : Service de Placement (Placement)

Placement gère l'inventaire des ressources et leur allocation. Les actions


suivantes ont été réalisées :

 Création de la Base de Données Placement : Une base de


données dédiée a été créée pour stocker les informations de
placement.

 Configuration de l'Utilisateur et des Endpoints Placement :


Les endpoints de l'API Placement ont été configurés.

 Installation et Configuration de Placement : Placement a été


installé et configuré pour suivre les ressources disponibles (CPU,
mémoire, stockage).

Étape 5 : Service de Calcul (Nova)

Nova est le service de calcul d'OpenStack. Il gère la création et la gestion


des instances. Les actions suivantes ont été réalisées :

 Création de la Base de Données Nova : Une base de données


dédiée a été créée pour stocker les informations de calcul.
 Installation des Composants Nova : Les composants Nova (API,
Scheduler, Conductor, etc.) ont été installés sur le nœud contrôleur.

 Installation de Nova-Compute : Le service Nova-Compute a été


installé sur le nœud de calcul pour exécuter les instances.

 Ajout du Nœud de Calcul : Le nœud de calcul a été ajouté à la


base de données Nova.

Étape 6 : Service de Réseau (Neutron)

Neutron gère les réseaux et les adresses IP dans OpenStack. Les actions
suivantes ont été réalisées :

 Création de la Base de Données Neutron : Une base de données


dédiée a été créée pour stocker les informations réseau.

 Configuration des Réseaux Self-Service : Neutron a été


configuré pour permettre la création de réseaux privés par les
utilisateurs.

 Installation des Agents Neutron : Les agents Neutron (Open


vSwitch, Metadata Agent) ont été installés sur les nœuds contrôleur
et calcul.

Étape 7 : Tableau de Bord (Horizon)

Horizon est l'interface web d'OpenStack. Les actions suivantes ont été
réalisées :

 Installation et Configuration d'Horizon : Horizon a été installé


pour fournir une interface graphique aux utilisateurs et
administrateurs.

Étape 8 : Service de Stockage par Blocs (Cinder)

Cinder fournit des volumes de stockage aux instances. Les actions


suivantes ont été réalisées :

 Création de la Base de Données Cinder : Une base de données


dédiée a été créée pour stocker les informations de stockage.

 Installation des Composants Cinder : Les composants Cinder


(API, Volume) ont été installés sur les nœuds contrôleur et stockage.
 Configuration de LVM : LVM a été configuré sur le nœud de
stockage pour gérer les volumes.

Travail Futur

1. Lancement d'une Instance sur le Réseau Self-Service

Avant de lancer une instance, il est nécessaire de configurer


l'infrastructure réseau virtuelle. Les étapes suivantes seront réalisées :

1. Création d'un Réseau Self-Service :

o Un réseau privé sera créé pour permettre aux instances de


communiquer entre elles.

o Ce réseau sera connecté à l'infrastructure physique via NAT.

2. Création d'un Routeur :

o Un routeur sera configuré pour connecter le réseau Self-


Service au réseau provider (externe).

o Cela permettra aux instances d'accéder à Internet.

3. Attribution d'Adresses IP Flottantes :

o Des adresses IP flottantes seront attribuées aux instances pour


permettre un accès externe (par exemple, depuis Internet).

4. Lancement d'une Instance :

o Une instance sera lancée sur le réseau Self-Service.


o L'accès à l'instance sera testé depuis le réseau externe.

2. Gestion et Débogage de l'Infrastructure OpenStack Privée

Une fois l'instance lancée, les étapes suivantes seront réalisées pour gérer
et déboguer l'infrastructure OpenStack :

1. Surveillance des Ressources :

o Utilisation d'outils comme Prometheus et Grafana pour


surveiller les performances des services OpenStack.

o Surveillance des instances, des réseaux et des volumes.

2. Gestion des Incidents :

o Identification et résolution des problèmes courants (par


exemple, échec de lancement d'instances, problèmes de
réseau).

o Consultation des logs des services (Nova, Neutron, Cinder,


etc.) pour diagnostiquer les erreurs.

3. Optimisation des Performances :

o Ajustement des configurations pour améliorer les


performances (par exemple, allocation des ressources,
optimisation des réseaux).

o Mise en place de stratégies de haute disponibilité.

4. Sauvegarde et Restauration :

o Mise en place de procédures de sauvegarde pour les données


critiques (par exemple, bases de données, volumes).

o Test des procédures de restauration en cas de panne.

3. Déploiement DevOps sur OpenStack

L'objectif est d'intégrer des pratiques DevOps dans l'environnement


OpenStack. Les étapes incluent :

 Intégration de CI/CD : Utilisation d'outils comme Jenkins, GitLab CI


ou ArgoCD pour automatiser le déploiement d'applications.

 Gestion des Configurations : Utilisation d'outils comme Ansible,


Puppet ou Chef pour automatiser la configuration des instances.
 Surveillance et Logging : Mise en place de solutions comme
Prometheus, Grafana et ELK Stack pour surveiller les performances
et centraliser les logs.

4. Intégration de la Blockchain

L'intégration de la blockchain permettra d'ajouter des fonctionnalités de


sécurité et de traçabilité. Les étapes incluent :

 Déploiement d'un Réseau Blockchain : Utilisation de frameworks


comme Hyperledger Fabric ou Ethereum pour créer un réseau
blockchain.

 Intégration avec OpenStack : Développement d'API pour


connecter OpenStack à la blockchain, permettant des fonctionnalités
comme la traçabilité des ressources et la gestion des accès
sécurisée.

Vous aimerez peut-être aussi