OpenStack est une plate-forme de cloud computing open source, fournit une solution pour l'infrastructure en tant que service. OpenStack se compose de plusieurs composants assemblés pour fournir IaaS, les composants sont répertoriés ci-dessous avec son utilisation.
Composants :
Composant | Nom | Utiliser |
---|---|---|
Calculer | (Nouvelle) | Gère les machines virtuelles |
Stockage d'objets | (Rapide) | Gère le stockage dans le cloud |
Bloquer le stockage | (Cendre) | Gère le stockage pour calculer l'instance |
Mise en réseau | (Neutrons) | Gère le réseau et les adresses IP |
Tableau de bord | (Horizon) | Fournir une interface Web graphique pour gérer les ressources |
Service d'identité | (clé de voûte) | Gère le système d'authentification sur le cloud |
Service d'imagerie | (Regard) | Fournit des images de disque et de serveur (modèle) |
Télémétrie | (Ceilomètre) | Système de facturation |
Orchestration | (Chaleur) | Fournit une fonction d'orchestration |
Base de données | (Trésor) | Moteur de base de données |
Provisionnement Bare Metal | (Ironique) | Provisionne un système bare metal au lieu d'une machine virtuelle |
Messagerie cloud multi-locataires | (Zaqar) | Service de messagerie cloud pour les développeurs Web |
Réduction de carte élastique | (Sahara) | Provisionner les clusters Hadoop |
Conception des infrastructures :
En ce qui concerne l'infrastructure, nous allons utiliser le réseau OpenStack (neutron), un total de trois instances Ubuntu seront utilisées ici, agiront en tant que contrôleur, réseau et nœud de calcul.
OpenStack recommande les configurations ci-dessous pour chaque nœud, avec un système d'exploitation hôte 64 bits.
• Nœud de contrôleur :1 processeur, 2 Go de mémoire et 5 Go de stockage
• Nœud de réseau :1 processeur, 512 Mo de mémoire et 5 Go de stockage
• Nœud de calcul :1 processeur, 2 Go de mémoire et 10 Go de stockage
Voici la configuration réseau de chaque nœud.
Rôle | Carte nord-ouest 1 | Carte NW 2 | Carte NW 3 |
---|---|---|---|
Nœud de contrôleur | 192.168.12.21 / 24, GW=192.168.12.2 (Réseau de gestion) | NA | NA |
Nœud de réseau | 192.168.12.22 / 24 GW=192.168.12.2 (Réseau de gestion) | 192.168.11.22 / 24 (Réseau de tunnels) | 192.168.0.10 / 24 GW=192.168.0.1 (Réseau externe – DHCP activé) |
Nœud de calcul | 192.168.12.23 / 24 GW=192.168.12.2 (Réseau de gestion) | 192.168.11.23 / 24 (Réseau de tunnels) | NA |
* Le réseau de tunnel n'aura pas d'adresse IP de passerelle dans le fichier de configuration, ce réseau est utilisé pour la communication interne entre le nœud de réseau et le nœud de calcul.
Ajoutez une entrée d'hôte, afin que les nœuds puissent utiliser le nom d'hôte pour communiquer au lieu de l'adresse IP. Placez-le sur tous les nœuds.
# nano /etc/hosts # controller 192.168.12.21 controller # network 192.168.12.22 network # compute 192.168.12.23 compute
Une fois que vous avez terminé de configurer l'adresse IP, envoyez un ping entre les nœuds pour vérifier la connectivité.
Serveur NTP :
Installez et configurez NTP sur le nœud de contrôleur afin que tous les autres nœuds puissent effectuer la synchronisation de l'heure.
# apt-get install ntp # service ntp restart
Configuration client NTP
Installez le package NTP sur le nœud réseau et le nœud de calcul
# apt-get install ntp
Modifiez le fichier de configuration ci-dessous.
# nano /etc/ntp.conf
Supprimez les autres serveurs ntp du fichier, hachez simplement les lignes qui commencent par word server. Ajoutez l'entrée ci-dessous pour synchroniser nos nœuds avec le nœud du contrôleur.
server controller
Redémarrez le service NTP.
# service ntp restart
Packages OpenStack :
Installez le porte-clés et le référentiel de l'archive Ubuntu Cloud.
# apt-get install ubuntu-cloud-keyring # echo "deb http://ubuntu-cloud.archive.canonical.com/ubuntu" "trusty-updates/kilo main" > /etc/apt/sources.list.d/cloudarchive-kilo.list
Mettez à niveau votre système.
# apt-get update && apt-get dist-upgrade
Effectuez les deux étapes ci-dessus sur tous les nœuds.
Installer la base de données MySQL :
Les composants OpenStack utilisent la base de données MySQL pour stocker des informations, installez donc MySQL sur le nœud de contrôleur.
# apt-get install mariadb-server python-mysqldb
Le programme d'installation appelle un tui de ligne de commande pour définir le mot de passe root MySQL.
# nano /etc/mysql/conf.d/mysqld_openstack.cnf
Ajoutez les valeurs suivantes et assurez-vous que la valeur bind-address est définie sur l'adresse IP de gestion du nœud de contrôleur pour permettre à un autre nœud d'accéder à l'instance MySQL.
[mysqld] ## Set to Management IP bind-address = 192.168.12.21 default-storage-engine = innodb innodb_file_per_table collation-server = utf8_general_ci init-connect = 'SET NAMES utf8' character-set-server = utf8
Redémarrez MySQL.
# service mysql restart
Installez RabbitMQ :
RabbitMQ est utilisé par OpenStack pour coordonner les opérations et les informations d'état entre les services. Installez-le sur le nœud du contrôleur.
# apt-get install rabbitmq-server
Ajouter un utilisateur openstack.
# rabbitmqctl add_user openstack password
* Remplacez le mot de passe par votre propre mot de passe.
Autoriser l'utilisateur d'openstack à lire, écrire et accéder à la configuration.
# rabbitmqctl set_permissions openstack ".*" ".*" ".*"
Ensuite, configurez le service KeyStone (identité OpenStack).