GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer OpenStack sur CentOS 8 avec Packstack

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


Cent OS
  1. Comment installer CentOS 8 (avec captures d'écran)

  2. Comment installer Python 3 sur CentOS 7 avec SCL

  3. Comment installer R sur CentOS 7

  4. Comment installer WordPress avec Nginx sur CentOS 7

  5. Comment installer phpMyAdmin avec Nginx sur CentOS 7

Comment installer MediaWiki avec Nginx sur CentOS 7

Comment installer Ansible AWX avec Docker sur CentOS 7

Comment installer ProFTPD avec TLS sur CentOS 7.2

Comment installer Nginx avec ngx_pagespeed sur CentOS

Comment installer Nginx avec PHP-FastCGI sur CentOS 6

Comment installer Magento avec Nginx sur CentOS 7