OpenStack est un logiciel cloud open source qui fournit l'infrastructure en tant que service (IaaS) . Il peut être installé sur un ou plusieurs nœuds.
Dans cet article, nous allons déployer openStack sur trois nœuds (calcul + contrôleur + réseau) sur CentOS 7.x à l'aide du référentiel RDO et de l'utilitaire packstack. Pour l'installation d'OpenStack à nœud unique, reportez-vous à ce qui suit :
Comment installer OpenStack à nœud unique sur CentOS 7
Dans l'article, j'utilise trois machines virtuelles hébergées sur VirtualBox et chaque machine virtuelle a une seule interface LAN. Ci-dessous les détails de l'architecture :
Détails du nœud de contrôleur :
- Nom d'hôte =contrôleur.exemple.com
- Adresse IP =192.168.1.30
- SE =CentOS 7.x
- DNS =192.168.1.11
Les composants OpenStack suivants seront installés sur le nœud du contrôleur :
- clé de voûte
- Regard
- rapide
- Cendre
- Horizon
- Neutrons
- Nova novncproxy
- Novnc
- API Nova
- Planificateur Nova
- Nova-conducteur
Détails du nœud de calcul :
- Nom d'hôte =compute.example.com
- Adresse IP =192.168.1.31
- SE =CentOS 7.X
- DNS =192.168.1.11
Les composants OpenStack suivants seront installés sur le nœud de calcul :
- Nova Compute
- Neutron – Agent Openvswitch
Détails du nœud de réseau :
- Nom d'hôte =réseau.exemple.com
- Adresse IP =192.168.1.32
- SE =CentOS 7.x
- DNS =192.168.1.11
Les composants OpenStack suivants seront installés sur le nœud du réseau :
- Serveur de neutrons
- Agent DHCP Neturon
- Neutron - Agent Openswitch
- Agent neutron L3
Effectuez les étapes suivantes pour l'installation :
Étape : 1 Mettez à jour les nœuds à l'aide de la commande ci-dessous.
Utilisez la commande ci-dessous sur les trois nœuds pour mettre à jour tous les packages installés.
# yum -y update ; reboot
Étape 2 Mettre à jour le fichier /etc/hosts et le nom d'hôte
Définissez le nom d'hôte sur les trois nœuds à l'aide de la commande ci-dessous, au cas où il ne serait pas défini.
# hostnamectl set-hostname 'new_hostname'
Mettez à jour le fichier /etc/hosts si vous n'avez pas configuré votre DNS local.
192.168.1.30 controller.example.com controller 192.168.1.31 compute.example.com compute 192.168.1.32 network.example.com network
Étape :3 Désactivez SELinux et Network Manager sur les trois nœuds.
Utilisez la commande ci-dessous pour désactiver SELinux sur les trois nœuds.
# setenforce 0
Désactivation permanente de SELinux en modifiant le paramètre ‘SELINUX=disabled’ dans le fichier ‘/etc/sysconfig/selinux ‘
Utilisez les commandes ci-dessous pour désactiver Network Manager sur les trois nœuds.
# systemctl stop NetworkManager # systemctl disable NetworkManager # reboot
Étape 4 Définissez l'authentification sans mot de passe du nœud de contrôleur au nœud de calcul et de réseau.
Exécutez les commandes ci-dessous à partir du nœud du contrôleur.
[[email protected] ~]# ssh-keygen [[email protected] ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected] [[email protected] ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
Vérifiez maintenant :
[[email protected] ~]# ssh compute Last login: Sun Apr 3 00:03:44 2016 from controller.example.com [[email protected] ~]# hostname compute.example.com [[email protected] ~]# [[email protected] ~]# ssh network Last login: Sun Apr 3 00:04:20 2016 from controller.example.com [[email protected] ~]# hostname network.example.com [[email protected] ~]#
Étape : 5 Activez le référentiel RDO et installez l'utilitaire packstack
Utilisez la commande yum ci-dessous pour activer le référentiel RDO et installer l'utilitaire packstack uniquement sur le nœud du contrôleur.
[[email protected] ~]# yum install -y https://www.rdoproject.org/repos/rdo-release.rpm [[email protected] ~]# yum install -y openstack-packstack
Étape 6 Générer et personnaliser le fichier de réponses
Utilisez la commande ci-dessous pour générer le fichier de réponses.
[[email protected] ~]# packstack --gen-answer-file=/root/answer.txt [[email protected] ~]#
Modifiez le fichier de réponses et spécifiez l'adresse IP du contrôleur, du nœud de calcul et du nœud de réseau. En dehors de cela, spécifiez également les mots de passe des différents services et désactivez les composants tels que la version de démonstration et Ceilometer.
[[email protected] ~]# vi /root/answer.txt ........................................ CONFIG_CONTROLLER_HOST=192.168.1.30 CONFIG_COMPUTE_HOSTS=192.168.1.31 CONFIG_NETWORK_HOSTS=192.168.1.32 CONFIG_PROVISION_DEMO=n CONFIG_CEILOMETER_INSTALL=n CONFIG_HORIZON_SSL=y CONFIG_NTP_SERVERS=<Specify NTP Server IP > CONFIG_KEYSTONE_ADMIN_PW=<Specify New_Password> ..........................................
Remarque : Si vous n'avez pas de serveur NTP, vous pouvez laisser le paramètre NTP tel quel, mais il est fortement recommandé d'utiliser le serveur ntp pour la synchronisation de l'heure.
Étape : 7 Lancez l'installation à l'aide de la commande packstack.
Nous sommes maintenant prêts à démarrer l'installation d'openstack à l'aide de la commande packstack. Exécutez la commande ci-dessous à partir du nœud du contrôleur.
[[email protected] ~]# packstack --answer-file=/root/answer.txt
Une fois l'installation terminée avec succès, nous obtiendrons ci-dessous :
Après l'installation, une nouvelle interface 'br-ex ' sera créé dans le nœud de réseau. Ajoutez une interface réseau (enp0s3 ou eth0 ou peut être un autre nom) au pont Open vSwitch 'br-ex' comme port et attribuez l'adresse IP de " enp0s3 " à " br-ex "
[[email protected] ~]# cd /etc/sysconfig/network-scripts/ [[email protected] network-scripts]# cp ifcfg-enp0s3 ifcfg-br-ex [[email protected] network-scripts]# vi ifcfg-enp0s3 DEVICE=enp0s3 HWADDR=08:00:27:37:4C:EF TYPE=OVSPort DEVICETYPE=ovs OVS_BRIDGE=br-ex ONBOOT=yes [[email protected] network-scripts]# vi ifcfg-br-ex DEVICE=br-ex DEVICETYPE=ovs TYPE=OVSBridge BOOTPROTO=static IPADDR=192.168.1.32 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=192.168.1.11 ONBOOT=yes
Redémarrez le service réseau à l'aide de la commande ci-dessous.
[[email protected] network-scripts]# systemctl restart network [[email protected] network-scripts]#
Étape : 8 Accédez au tableau de bord Openstack.
Essayez maintenant d'accéder au tableau de bord d'openstack à partir du navigateur en utilisant ci-dessous.
https://192.168.1.30/tableau de bord
Utilisez le nom d'utilisateur comme "admin" et le mot de passe que vous spécifiez dans le fichier answer.txt.
Cliquez sur "Se connecter"
Remarque :Si vous obtenez "Erreur :Impossible de récupérer les informations sur la limite de volume" dans le tableau de bord, cela peut être corrigé en ajoutant ce qui suit dans le fichier cinder.conf fichier sur le nœud du contrôleur.
[[email protected] ~]# vi /etc/cinder/cinder.conf .................................... [keystone_authtoken] auth_uri = http://<Controller_IP>:5000 auth_url = http://<Controller_IP>:35357 auth_plugin = password project_domain_id = default user_domain_id = default project_name = services username = cinder password = <Cinder_Password> {Search CONFIG_CINDER_KS_PW in answer file} .....................................
Redémarrez le service Cinder.
[[email protected] ~]# systemctl restart openstack-cinder-api.service [[email protected] ~]# systemctl restart openstack-cinder-backup.service [[email protected] ~]# systemctl restart openstack-cinder-scheduler.service [[email protected] ~]# systemctl restart openstack-cinder-volume.service
Comme nous pouvons nous connecter dans le tableau de bord, nous pouvons dire que la partie installation est terminée. Maintenant, la tâche suivante consiste à lancer une instance, pour cela nous devons effectuer les tâches suivantes .
- Créer un projet et des utilisateurs
- Attribuer des utilisateurs au projet.
- Créer une image et des saveurs
- Définir le réseau interne et externe
- Créer un routeur
- Créer des règles de sécurité pour la machine virtuelle ou l'instance.
Pour accomplir la tâche ci-dessus, reportez-vous à l'URL ci-dessous :
- Lancement d'une instance à partir du tableau de bord Liberty OpenStack.
Référence :– https://www.rdoproject.org/install/packstack/