Devstack è una raccolta di script che distribuiscono l'ultima versione dell'ambiente openstack su macchine virtuali, laptop personali o desktop. Come suggerisce il nome, viene utilizzato per ambiente di sviluppo e può essere utilizzato per i test funzionali di Openstack Project e talvolta l'ambiente openstack distribuito da devstack può essere utilizzato anche a scopo dimostrativo e per alcuni PoC di base.
In questo articolo dimostrerò come installare Openstack su CentOS 7 / RHEL 7 System usando Devstack. Di seguito sono riportati i requisiti minimi di sistema,
- Processore Dual Core
- Minimo 8 GB di RAM
- Disco rigido da 60 GB
- Connessione Internet
Di seguito sono riportati i dettagli della mia configurazione del laboratorio per l'implementazione di Openstack utilizzando devstack
- CentOS 7 / RHEL 7 (VM) con installazione minima
- Nome host – devstack-linuxtechi
- Indirizzo IP – 169.144.104.230
- 10 vCPU
- 14 GB RAM
- Disco rigido da 60 GB
Iniziamo i passaggi di distribuzione, accedi al tuo sistema CentOS 7 o RHEL 7
Passaggio:1 Aggiorna il tuo sistema e imposta il nome host
Esegui il seguente comando yum per applicare gli ultimi aggiornamenti al sistema, quindi riavvia. Anche dopo il riavvio, imposta il nome host
~]# yum update -y && reboot ~]# hostnamectl set-hostname "devstack-linuxtechi" ~]# exec bash
Passaggio:2) Crea un utente Stack e assegnagli i diritti sudo
Tutti i passaggi di installazione devono essere eseguiti da un nome utente “stack ", fai riferimento ai comandi seguenti per creare e assegnare i diritti 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] ~]#
Passaggio:3) Installa git e scarica devstack
Passa allo stack user e installa il pacchetto git usando il comando yum
[[email protected] ~]# su - stack [[email protected] ~]$ sudo yum install git -y
Scarica devstack usando il comando git sotto,
[[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] ~]$
Passo:4) Crea il file local.conf e avvia l'installazione di openstack
Per avviare l'installazione di openstack usando lo script devstack (stack.sh), dobbiamo prima preparare il file local.conf adatto alla nostra configurazione.
Passa alla cartella devstack e crea il file local.conf con i contenuti seguenti
[[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
Salva ed esci dal file.
Imposta le autorizzazioni su /opt/stack
[[email protected] devstack]$ sudo chmod 755 /opt/stack
Ora avvia la distribuzione o l'installazione eseguendo lo script (stack.sh)
[[email protected] devstack]$ ./stack.sh
Ci vorranno dai 30 ai 45 minuti a seconda della tua connessione Internet.
Durante l'esecuzione del comando precedente, se hai riscontrato gli errori seguenti
+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]$
Per risolvere questi errori, esegui i seguenti passaggi
Installa bridge-utils pacchetto e modificare il parametro da "GIT_BASE=${GIT_BASE:-git://git.openstack.org} ” a “GIT_BASE=${GIT_BASE:-https://www.github.com} ” nel file 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} ……
Ora riesegui lo script stack.sh,
[[email protected] devstack]$ ./stack.sh
Una volta che lo script è stato eseguito correttamente, otterremo l'output qualcosa come di seguito,
Ciò conferma che openstack è stato distribuito correttamente,
Passaggio:5 Accedi a OpenStack tramite Openstack CLI o Horizon Dashboard
se vuoi eseguire qualsiasi attività da openstack cli, devi prima aprire il file openrc di origine, che contiene le credenziali di amministratore.
[[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]$
Ora prova ad accedere a Horizon Dashboard, i dettagli dell'URL e le credenziali sono già presenti nell'output dei comandi dello stack.
http://{indirizzo-IP-del-server}/dashboard
Rimuovi/Disinstalla OpenStack utilizzando gli script devstack
Se hai finito con il test e la dimostrazione e vuoi rimuovere openstack dal tuo sistema, esegui i seguenti script tramite l'utente 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/
Questo è tutto da questo tutorial, se ti piacciono i passaggi, condividi il tuo prezioso feedback e commenti.