Skip to content

Deployer_Openstack_avec_Packstack_sur_une_machine

DOSSANTOSDaniel edited this page Jul 9, 2020 · 1 revision

Déploiement d’OpenStack avec Packstack

Packstack permet de déployer Openstack en utilisant des modules Puppet.

Ce TP permet l'installation d'Openstack sur une machine virtuelle à l'aide de Packstack.

Ressources conseilles pour la machine physique :

  • 4 coeurs
  • 16GO de RAM

Configuration de la machine virtuelle :

  • 2 coeurs
  • 8GO de RAM
  • 40GO de disque

Informations réseau :

Réseau externe 192.168.0.0/24
Réseau interne 10.10.1.0/24
Domaine openstack.tpdaniel.fr

Les différents outils utilisés dans le TP :

Outils Versions
CentOS 8.2.2004-x86_64-minimal
Openstack-packstack 16
Openstack Ussuri
Cirros 0.5.1

Liens utiles :

Description Liens
Documentation de Packstack https://github.com/redhat-openstack/packstack/blob/master/docs/packstack.rst
Image ISO de CentOS 8 http://miroir.univ-paris13.fr/centos/8.2.2004/isos/x86_64/CentOS-8.2.2004-x86_64-minimal.iso
Documentation d'Openstack https://wiki.openstack.org/wiki/Get_OpenStack
Image en .img de Cirros http://download.cirros-cloud.net/0.5.1/
GitHub du projet Cirros https://github.com/cirros-dev/cirros
Tutoriel d'installaton de Packstack https://www.linuxtechi.com/install-openstack-centos-8-with-packstack/

Cette installation est à but éducatif, il ne faut pas utiliser cette configuration en production, l'image Cirros n'est pas utilisable en production, c'est une image de test.

En production il est conseillé d’utiliser TripleO pour déployer Openstack ou de configurer Packstack pour qu'il déploie Openstack sur un cluster de machines.

Configuration de la VM CentOS 8

Configuration de /etc/hosts.

hostnamectl set-hostname "openstack.tpdaniel.fr"
echo  "192.168.0.31    openstack.tpdaniel.fr    openstack" >> /etc/hosts
exec bash

Supprimer le firewall.

systemctl disable firewalld
systemctl stop firewalld

Supprimer Network manager.

CentOS 8 utilise par défaut "network manager" qui est incompatible avec l’utilisation d'Openstack.

systemctl disable NetworkManager
systemctl stop NetworkManager

Installation de network-scripts.

dnf install network-scripts -y

Configuration de l'interface réseau.

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp0s3"
UUID="62d158fc-5004-4c68-82e4-c39a5b997d34"
DEVICE="enp0s3"
ONBOOT="yes"
IPADDR="192.168.0.31"
PREFIX="24"
GATEWAY="192.168.0.1"
DNS="8.8.8.8"

Activer le service network.

systemctl enable network
systemctl start network

Activation du dépôt Openstack et installation des outils Packstack.

dnf config-manager --enable PowerTools
dnf install -y centos-release-openstack-ussuri

Mise à jour et reboot de la machine.

dnf upgrade -y
reboot

Installation de Packstack

dnf install -y openstack-packstack

Génération du fichier de configuration pour l’installation d’Openstack en utilisant Packstack.

packstack --gen-answer-file /root/openstack-answer.txt

Éditer les paramètres suivants :

vi /root/openstack-answer.txt

CONFIG_HEAT_INSTALL=y
CONFIG_PROVISION_DEMO=n
CONFIG_KEYSTONE_ADMIN_PW=digital
CONFIG_NEUTRON_OVN_BRIDGE_IFACES=br-ex:ens18

Ou si non on peut utiliser sed.

sed -ir -e "s/CONFIG_HEAT_INSTALL=n/CONFIG_HEAT_INSTALL=y/g" /root/openstack-answer.txt

sed -ir -e "s/CONFIG_PROVISION_DEMO=y/CONFIG_PROVISION_DEMO=n/g" /root/openstack-answer.txt

sed -ir -e "s/CONFIG_KEYSTONE_ADMIN_PW=[[:digit:]]/CONFIG_KEYSTONE_ADMIN_PW=digital/g" /root/openstack-answer.txt

sed -ir -e "s/CONFIG_NEUTRON_OVN_BRIDGE_IFACES=/CONFIG_NEUTRON_OVN_BRIDGE_IFACES=br-ex:enp0s3/g" /root/openstack-answer.txt

Déploiement d'Openstack

packstack --answer-file /root/openstack-answer.txt

Attendre 20 à 30 minutes selon les ressources de votre machine.

déploiement

L'installation est terminée.

Accéder au dashboard Horizon

Tout d'abord on récupère les identifiants de connexion spécifiés dans le fichier "keystonerc_admin".

cat keystonerc_admin

keystone_admin

Lien de connexion :

http://192.168.0.31/dashboard

Page de login.

login

Voici le dashboard.

dashboard

Lancement d'une instance

Création d'un réseau externe.

source ~/keystonerc_admin

On peut observer que notre prompte a changé : [root@openstack ~(keystone_admin)]#

neutron net-create external_network --provider:network_type flat --provider:physical_network extnet --router:external

Maintenant on va ajouter un sous-réseau au réseau externe.

neutron subnet-create --name public_subnet --enable_dhcp=True --allocation-pool=start=192.168.0.210,end=192.168.0.230 --gateway=192.168.0.1 external_network 192.168.0.0/24

Création d'un router et configuration de la gateway vers l'extérieur.

neutron router-create dev-router
neutron router-gateway-set dev-router external_network

Création du réseau interne et configuration d'un sous réseau.

neutron net-create pvt_net

neutron subnet-create --name pvt_subnet pvt_net 10.10.1.0/24

Connecter l'interface de pvt_net au router dev_router.

neutron router-interface-add dev-router pvt_subnet

Vérification de la topologie réseau sur le dashboard.

Network

Graphique du réseau.

Network2

Téléchargement de l'image Cirros et integration de cette image dans glance.

curl -L -O http://download.cirros-cloud.net/0.5.1/cirros-0.5.1-x86_64-disk.img

openstack image create --disk-format qcow2 --container-format bare --public --file cirros-0.5.1-x86_64-disk.img  cirros

Vérification de l'intégration de l'image de cirros sur le dashboard.

Cirros

Mettre à jour le groupe de sécurité par défaut.

Ajouter les règles d'entrée ICMP et SSH pour permettre le Ping et les connexions SSH en entrée.

rules

On peut maintenant initier une instance, cliquer sur l'onglet Compute, puis choisissez l'option Instances et cliquer sur "Lancer l'instance"

Insérer un nom pour l'instance dans cet exemple "super_vm" puis cliquer sur suivant.

instance1

A "création de volume" répondre non, sélectionner l'image Cirros puis appuyer sur suivant.

instance2

Choisir un gabarit puis cliquer sur suivant.

instance3

Ici on attache le réseau interne à l'instance puis on clique sur "lancer instance".

instance4

On peut observer que l'instance viens de récupérer une adresse IP appartenant au réseau interne.

instance6

Ajout d'une adresse IP flottante.

instance7

Cliquer sur le bouton +.

instance8

Valider en appuyant sur "Allocation d'IP".

ip

On peut observer que l'instance viens de récupérer une nouvelle adresse IP, pour finir on clique sur "Associer".

ip1

On peut voir que l'instance est en fonctionnement et quelle a récupérée une IP interne et une IP flottante.

ip2

Connexion à Cirros

On va maintenant se connecter en SSH sur l'instance Cirros pour vérifier son fonctionnement et lancer quelques commandes.

ip3

logo

Clone this wiki locally