Openstack est un logiciel de cloud privé gratuit et open source grâce auquel nous pouvons gérer facilement les ressources de calcul, de réseau et de stockage de notre centre de données à l'aide d'un seul tableau de bord et via des commandes cli openstack. Dans cet article, nous montrerons comment installer Openstack sur un système CentOS 8 avec packstack . Packstack est un utilitaire de ligne de commande qui déploie différents composants d'openstack à l'aide de modules marionnettes.
Le déploiement Openstack avec packstack est généralement utilisé à des fins de POC (preuve de concept), il n'est donc pas recommandé d'utiliser packstack pour le déploiement en production. Utilisez la méthode TripleO pour déployer openstack dans un environnement de production.
Configuration minimale requise pour OpenStack
- CentOS 8 minimal
- Processeur double cœur
- 8 Go de RAM
- 40 Go d'espace disque disponible
- Connexion Internet stable
- Au moins une carte réseau
Détails de la configuration de My Lab :
- Nom d'hôte – openstack.example.com
- IP - 192.168.1.8
- Réseau plat :192.168.1.0/24
Plongeons en profondeur dans les étapes d'installation d'openstack,
Étape 1) Définissez le nom d'hôte et mettez à jour le fichier /etc/hosts
Ouvrez le terminal et définissez le nom d'hôte à l'aide de la commande hostnamectl suivante,
[[email protected] ~]# hostnamectl set-hostname "openstack.example.com" [[email protected] ~]# exec bash
Exécutez la commande echo ci-dessous pour ajouter l'entrée du nom d'hôte dans le fichier /etc/hosts.
[[email protected] ~]# echo -e "192.168.1.8\topenstack.example.com" >> /etc/hosts
Étape 2) Désactiver Network Manager et configurer le réseau à l'aide de scripts réseau
Gestionnaire de réseau est l'outil par défaut dans CentOS 8 pour gérer les réseaux, mais pour Openstack, nous devons le désactiver car la mise en réseau openstack ne fonctionnera pas correctement avec network-manager. À la place du gestionnaire de réseau, nous devons installer des scripts réseau natifs.
Pour désactiver le gestionnaire de réseau, exécutez les commandes suivantes,
[[email protected] ~]# systemctl disable NetworkManager [[email protected] ~]# systemctl stop NetworkManager
Exécutez la commande dnf suivante pour installer les scripts réseau natifs
[[email protected] ~]# dnf install network-scripts -y
Une fois le package network-scripts installé, nous pouvons gérer la mise en réseau (fichiers ifcfg-*) à l'aide de network.service natif
Configurons maintenant l'adresse IP dans le fichier ifcfg-enp0s3 et démarrons le service réseau
[email protected] ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
Enregistrez et quittez le fichier, puis démarrez le service réseau à l'aide de la commande suivante,
[[email protected] ~]# systemctl start network [[email protected] ~]# systemctl enable network
Vérifiez maintenant si l'adresse IP est attribuée à la carte réseau (enp0s3) à l'aide de la commande ip,
[[email protected] ~]# ip a s enp0s3
Étape 3) Activez les référentiels OpenStack et installez l'utilitaire packstack
Au moment de la rédaction de cet article, ussuri openstack était disponible, alors exécutez la commande suivante pour configurer ses référentiels
[[email protected] ~]# dnf config-manager --set-enabled powertools or [[email protected] ~]# dnf config-manager --enable PowerTools [[email protected] ~]# dnf install -y centos-release-openstack-ussuri
Maintenant, installez toutes les mises à jour disponibles et redémarrez votre système,
[[email protected] ~]# dnf update -y [[email protected] ~]# reboot
Une fois que le système est disponible après le redémarrage, exécutez la commande dnf suivante pour installer l'utilitaire packstack
[[email protected] ~]# dnf install -y openstack-packstack
Étape 4) Générer le fichier de réponses et installer openstack à l'aide de packstack
Utilisez la commande packstack pour générer le fichier de réponses,
[[email protected] ~]# packstack --gen-answer-file /root/openstack-answer.txt
Une fois le fichier de réponse généré, modifiez les paramètres suivants à l'aide de l'éditeur vi,
[[email protected] ~]# vi /root/openstack-answer.txt .............. CONFIG_HEAT_INSTALL=y CONFIG_PROVISION_DEMO=n [email protected] CONFIG_NEUTRON_OVN_BRIDGE_IFACES=br-ex:enp0s3 ..............
Enregistrez et quittez le fichier.
Remplacez le nom de l'interface (enp0s3) selon votre configuration.
Remarque : Le lecteur de type de réseau du locataire par défaut est défini sur "geneve " et le pilote de type neutron par défaut est défini sur "geneve et plat ”. Si vous souhaitez modifier ces paramètres par défaut, mettez à jour les lignes suivantes dans le fichier de réponses. Dans cette démonstration, je ne vais pas mettre à jour ces paramètres.
CONFIG_NEUTRON_ML2_TYPE_DRIVERS=geneve,flat CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=geneve
Exécutez la commande suivante pour lancer le déploiement d'openstack à l'aide du fichier de réponses.
[[email protected] ~]# packstack --answer-file /root/openstack-answer.txt
Le déploiement prendra environ 20 à 30 minutes en fonction du matériel de votre système et de la vitesse Internet. Une fois installé avec succès, nous obtiendrons ce qui suit :
Vérifiez maintenant si l'IP de l'interface enp03 est attribuée au pont br-ex et confirmez également si l'interface enp0s3 est ajoutée en tant que port dans ovs-bridge.
Exécutez les commandes suivantes :
[[email protected] ~]# ip a s enp0s3 [[email protected] ~]# ip a s br-ex [[email protected] ~]# ovs-vsctl show
Parfait, la sortie ci-dessus confirme que l'installation a réussi et que la mise en réseau est également configurée conformément au fichier de réponses.
Étape 5) Accéder au tableau de bord Horizon
Essayez maintenant de vous connecter au tableau de bord Horizon. L'URL est déjà spécifiée dans la sortie ci-dessus, dans mon cas, l'URL est http://192.168.1.8/dashboard , Utilisez le nom d'utilisateur en tant qu'administrateur et mot de passe que nous spécifions dans le fichier de réponses.
Nous nous référons également au fichier "keystonerc_admin" pour les informations d'identification
Maintenant, testons ce déploiement d'openstack en lançant une instance.
Étape 6) Testez et vérifiez l'installation d'OpenStack en lançant une instance
Avant de lancer une instance dans openstack, nous devons d'abord créer des réseaux et un routeur et jeter un coup d'œil à l'image. Alors, commençons par créer un réseau externe dans le locataire admin en utilisant les commandes neutron suivantes,
[[email protected] ~]# source keystonerc_admin [[email protected] ~(keystone_admin)]# neutron net-create external_network --provider:network_type flat --provider:physical_network extnet --router:external
Ajoutez maintenant un sous-réseau de votre réseau plat au réseau externe en exécutant la commande neutron suivante.
[[email protected] ~(keystone_admin)]# neutron subnet-create --name public_subnet --enable_dhcp=True --allocation-pool=start=192.168.1.210,end=192.168.1.230 --gateway=192.168.1.1 external_network 192.168.1.0/24
Créez un routeur en exécutant la commande neutron suivante et définissez sa passerelle à l'aide d'un réseau externe
[[email protected] ~(keystone_admin)]# neutron router-create dev-router [[email protected] ~(keystone_admin)]# neutron router-gateway-set dev-router external_network
Créez un réseau privé et attachez-y un sous-réseau. Exécutez la commande neutron suivante,
[[email protected] ~(keystone_admin)]# neutron net-create pvt_net [[email protected] ~(keystone_admin)]# neutron subnet-create --name pvt_subnet pvt_net 10.20.1.0/24
Ajoutez l'interface pvt_net au routeur "dev_router" en utilisant sous la commande neutron,
[[email protected] ~(keystone_admin)]# neutron router-interface-add dev-router pvt_subnet
Maintenant, téléchargez l'image Cirros, puis téléchargez-la sur le coup d'œil
[[email protected] ~(keystone_admin)]# wget http://download.cirros-cloud.net/0.5.1/cirros-0.5.1-x86_64-disk.img [[email protected] ~(keystone_admin)]# openstack image create --disk-format qcow2 --container-format bare --public --file cirros-0.5.1-x86_64-disk.img cirros
Revenez maintenant au tableau de bord Horizon et vérifiez la topologie du réseau
Parfait, ci-dessus confirme que le réseau privé et externe a été correctement configuré avec le routeur.
Une dernière étape avant de créer une machine virtuelle, mettez à jour le groupe de sécurité par défaut, ajoutez des règles d'entrée icmp et ssh, cliquez sur "Security Groups " sous l'onglet réseau, cliquez sur Gérer les règles, puis cliquez sur "Ajouter une règle ”
De même, ajoutez une règle pour ssh
Cliquez sur Ajouter
Maintenant, toutes les conditions requises pour lancer une instance d'openstack sont remplies. Cliquez sur Calculer Tab, puis choisissez Instances option et cliquez sur "Lancer l'instance ”
Une fois la VM lancée avec succès, nous obtiendrons quelque chose comme ci-dessous,
Associez maintenant une adresse IP flottante à l'instance (demo_vm), sous "Actions ” Tab, Choisissez “Associate Floating IP ”
Choisissez maintenant IP ou cliquez sur + signe pour obtenir une adresse IP flottante à partir d'un réseau externe, puis l'associer
Une fois l'IP associée à la VM, l'IP flottante sera affichée sous l'option "Adresse IP", l'exemple est illustré ci-dessous
Essayez maintenant d'accéder à cette demo_vm en utilisant l'IP flottante, utilisez cirros comme utilisateur et 'gocubsgo' comme mot de passe
Génial, la sortie ci-dessus confirme que nous pouvons accéder à notre instance via une adresse IP flottante. Ceci conclut l'article; J'espère que ce tutoriel vous aidera à déployer openstack sur le système CentOS 8. N'hésitez pas à partager vos retours et commentaires.
Lire aussi :Comment créer une instance dans OpenStack via la ligne de commande