Devstack est une collection de scripts qui déploient la dernière version de l'environnement openstack sur une machine virtuelle, un ordinateur portable personnel ou un ordinateur de bureau. Comme son nom l'indique, il est utilisé pour l'environnement de développement et peut être utilisé pour les tests fonctionnels d'Openstack Project et parfois l'environnement openstack déployé par devstack peut également être utilisé à des fins de démonstration et pour certains PoC de base.
Dans cet article, je vais montrer comment installer Openstack sur le système CentOS 7/RHEL 7 à l'aide de Devstack. Voici la configuration minimale requise,
- Processeur double cœur
- 8 Go de RAM minimum
- Disque dur de 60 Go
- Connexion Internet
Voici les détails de ma configuration de laboratoire pour le déploiement d'Openstack à l'aide de devstack
- CentOS 7/RHEL 7 (VM) installés au minimum
- Nom d'hôte :devstack-linuxtechi
- Adresse IP – 169.144.104.230
- 10 processeurs virtuels
- 14 Go de RAM
- Disque dur de 60 Go
Commençons les étapes de déploiement, connectez-vous à votre système CentOS 7 ou RHEL 7
Étape 1 Mettre à jour votre système et définir le nom d'hôte
Exécutez la commande yum suivante pour appliquer les dernières mises à jour au système, puis effectuez un redémarrage. Également après le redémarrage, définissez le nom d'hôte
~]# yum update -y && reboot ~]# hostnamectl set-hostname "devstack-linuxtechi" ~]# exec bash
Étape :2) Créez un utilisateur Stack et attribuez-lui des droits sudo
Toutes les étapes d'installations sont à réaliser par un nom d'utilisateur "stack ", reportez-vous aux commandes ci-dessous pour créer et attribuer des droits sudo .
[[email protected] ~]# useradd -s /bin/bash -d /opt/stack -m stack [[email protected] ~]# echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack stack ALL=(ALL) NOPASSWD: ALL [[email protected] ~]#
Étape 3) Installez git et téléchargez devstack
Basculez vers l'utilisateur de la pile et installez le package git à l'aide de la commande yum
[[email protected] ~]# su - stack [[email protected] ~]$ sudo yum install git -y
Téléchargez devstack en utilisant la commande git ci-dessous,
[[email protected] ~]$ git clone https://git.openstack.org/openstack-dev/devstack Cloning into 'devstack'... remote: Counting objects: 42729, done. remote: Compressing objects: 100% (21438/21438), done. remote: Total 42729 (delta 30283), reused 32549 (delta 20625) Receiving objects: 100% (42729/42729), 8.93 MiB | 3.77 MiB/s, done. Resolving deltas: 100% (30283/30283), done. [[email protected] ~]$
Étape 4) Créez le fichier local.conf et démarrez l'installation d'openstack
Pour démarrer l'installation d'openstack à l'aide du script devstack (stack.sh), nous devons d'abord préparer le fichier local.conf qui convient à notre configuration.
Passez au dossier devstack et créez un fichier local.conf avec le contenu ci-dessous
[[email protected] ~]$ cd devstack/ [[email protected] devstack]$ vi local.conf [[local|localrc]] #Specify the IP Address of your VM / Server in front of HOST_IP Parameter HOST_IP=169.144.104.230 #Specify the name of interface of your Server or VM in front of FLAT_INTERFACE FLAT_INTERFACE=eth0 #Specify the Tenants Private Network and its Size FIXED_RANGE=10.4.128.0/20 FIXED_NETWORK_SIZE=4096 #Specify the range of external IPs that will be used in Openstack for floating IPs FLOATING_RANGE=172.24.10.0/24 #Number Host on which Openstack will be deployed MULTI_HOST=1 #Installation Logs file LOGFILE=/opt/stack/logs/stack.sh.log #KeyStone Admin Password / Database / RabbitMQ / Service Password ADMIN_PASSWORD=openstack DATABASE_PASSWORD=db-secret RABBIT_PASSWORD=rb-secret SERVICE_PASSWORD=sr-secret #Additionally installing Heat Service enable_plugin heat https://git.openstack.org/openstack/heat master enable_service h-eng h-api h-api-cfn h-api-cw
Enregistrez et quittez le fichier.
Définissez les autorisations sur /opt/stack
[[email protected] devstack]$ sudo chmod 755 /opt/stack
Lancez maintenant le déploiement ou l'installation en exécutant le script (stack.sh)
[[email protected] devstack]$ ./stack.sh
Cela prendra entre 30 et 45 minutes selon votre connexion Internet.
Lors de l'exécution de la commande ci-dessus, si vous avez les erreurs ci-dessous
+functions-common:git_timed:607 timeout -s SIGINT 0 git clone git://git.openstack.org/openstack/requirements.git /opt/stack/requirements --branch master fatal: unable to connect to git.openstack.org: git.openstack.org[0: 104.130.246.85]: errno=Connection timed out git.openstack.org[1: 2001:4800:7819:103:be76:4eff:fe04:77e6]: errno=Network is unreachable Cloning into '/opt/stack/requirements'... +functions-common:git_timed:610 [[ 128 -ne 124 ]] +functions-common:git_timed:611 die 611 'git call failed: [git clone' git://git.openstack.org/openstack/requirements.git /opt/stack/requirements --branch 'master]' +functions-common:die:195 local exitcode=0 [Call Trace] ./stack.sh:758:git_clone /opt/stack/devstack/functions-common:547:git_timed /opt/stack/devstack/functions-common:611:die [ERROR] /opt/stack/devstack/functions-common:611 git call failed: [git clone git://git.openstack.org/openstack/requirements.git /opt/stack/requirements --branch master] Error on exit /bin/sh: brctl: command not found [[email protected] devstack]$
Pour résoudre ces erreurs, effectuez les étapes suivantes
Installez bridge-utils package et modifiez le paramètre de "GIT_BASE=${GIT_BASE:-git://git.openstack.org} ” à “GIT_BASE=${GIT_BASE:-https://www.github.com} ” dans le fichier stackrc
[[email protected] devstack]$ sudo yum install bridge-utils -y [[email protected] devstack]$ vi stackrc …… #GIT_BASE=${GIT_BASE:-git://git.openstack.org} GIT_BASE=${GIT_BASE:-https://www.github.com} ……
Maintenant, relancez le script stack.sh,
[[email protected] devstack]$ ./stack.sh
Une fois le script exécuté avec succès, nous obtiendrons la sortie comme ci-dessous,
Cela confirme que openstack a été déployé avec succès,
Étape :5 Accédez à OpenStack via Openstack CLI ou Horizon Dashboard
si vous souhaitez effectuer une tâche à partir d'openstack cli, vous devez d'abord ouvrir le fichier openrc source, qui contient les informations d'identification de l'administrateur.
[[email protected] devstack]$ source openrc WARNING: setting legacy OS_TENANT_NAME to support cli tools. [[email protected] devstack]$ openstack network list +--------------------------------------+---------+----------------------------------------------------------------------------+ | ID | Name | Subnets | +--------------------------------------+---------+----------------------------------------------------------------------------+ | 5ae5a9e3-01ac-4cd2-86e3-83d079753457 | private | 9caa54cc-f5a4-4763-a79e-6927999db1a1, a5028df6-4208-45f3-8044-a7476c6cf3e7 | | f9354f80-4d38-42fc-a51e-d3e6386b0c4c | public | 0202c2f3-f6fd-4eae-8aa6-9bd784f7b27d, 18050a8c-41e5-4bae-8ab8-b500bc694f0c | +--------------------------------------+---------+----------------------------------------------------------------------------+ [[email protected] devstack]$ openstack image list +--------------------------------------+--------------------------+--------+ | ID | Name | Status | +--------------------------------------+--------------------------+--------+ | 5197ed8e-39d2-4eca-b36a-d38381b57adc | cirros-0.3.6-x86_64-disk | active | +--------------------------------------+--------------------------+--------+ [[email protected] devstack]$
Essayez maintenant d'accéder au tableau de bord Horizon, les détails de l'URL et les informations d'identification sont déjà présents dans la sortie de la commande de pile.
http://{Votre-serveur-adresse-IP}/tableau de bord
Supprimer/désinstaller OpenStack à l'aide de scripts devstack
Si vous avez terminé les tests et la démonstration et que vous souhaitez supprimer openstack de votre système, exécutez les scripts suivants via l'utilisateur Stack,
[[email protected] ~]$ cd devstack [[email protected] devstack]$ ./clean.sh [[email protected] devstack]$ ./unstack.sh [[email protected] devstack]$ rm -rf /opt/stack/ [[email protected] ~]$ sudo rm -rf devstack [[email protected] ~]$ sudo rm -rf /usr/local/bin/
C'est tout de ce didacticiel, si vous aimez les étapes, veuillez partager vos précieux commentaires et commentaires.