-
Notifications
You must be signed in to change notification settings - Fork 2
Deployer_Openstack_avec_Packstack_sur_une_machine
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 /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
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
packstack --answer-file /root/openstack-answer.txt
Attendre 20 à 30 minutes selon les ressources de votre machine.

L'installation est terminée.
Tout d'abord on récupère les identifiants de connexion spécifiés dans le fichier "keystonerc_admin".
cat keystonerc_admin

Lien de connexion :
Page de login.

Voici le dashboard.

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.

Graphique du réseau.

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.

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.

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.

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

Choisir un gabarit puis cliquer sur suivant.

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

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

Ajout d'une adresse IP flottante.

Cliquer sur le bouton +.

Valider en appuyant sur "Allocation d'IP".

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

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

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


Projets Open Source
