Instalare Openstack(RDO) folosind Packstack

Publicat de: pe

Acest tutorial vine în ajutorul studenților ce doresc să își pregătească o mașină virtuală care va contine un mediu de execuție OpensStack RDO(RedHat Deployment of OpenStack)

Resurse necesare

Pentru pregătirea mașinei virtuale puteți urmari tutorialul despre VirtualBox și Cent OS 7. Două mențiune trebuie făcută:

  • la pasul Specificații pentru mașina virtuală este indicat să aveți minim 6GB RAM.
  • ISO-ul pe care il folosiți trebuie sa contină GUI(interfață grafică)

Deoarece rețelele de tip NAT din VirtualBox sunt izolate(nu pot fi accesate din mașina gazdă) trebuie să facem port forwarding a portului 80 (cel pe care este expus Horizon, interfața web prin care se poate interacționa cu OpenStack). Atenție Acești pasi trebuie făcuți cat timp mașina este închisă!

Pentru acest lucru accesăm Port Forwarding din meniul Settings > Network și adăugam urmatoarele reguli: Reguli de Port Forwarding

Pasul I. Setarea unui IP static

Deoarece OpenStack este compus din mai multe servicii (care pot rula pe masini diferite), fiecare serviciu se bazeaza pe cunoașterea IP-ului serviciilor cu care interacționeaza, dacă IP-ul s-ar schimba atunci nu s-ar mai putea realiza comunicarea corect.

In CentOS pentru a seta un IP static putem modifica fișierul /etc/sysconfig/network-scripts/ifcfg-enp0s3(unde enp0s3 este numele interfeței de tip NAT). In acest fișier trebuie adăugate urmatoarele opțiuni(pe langa cele existente):

BOOTPROTO="static"

IPADDR=10.0.2.200 # IP-ul este ales de noi, trebuie doar sa faca parte din sub-rețea
NETMASK=255.255.255.0 
GATEWAY=10.0.2.1
DNS1=8.8.8.8
DNS1=8.8.4.4

Setarea unui IP static

Pasul II. Pregatirea rețelei

Atenție: acest pas va scădea securitatea sistemului de operare, această mașina nu trebuie să fie accesibilă din exterior. Dezactivăm și oprim firewall-ul (pentru a nu avea probleme cu port-urile folosite de OpenStack)

$ sudo systemctl disable firewalld
$ sudo systemctl stop firewalld

Dezactivăm și oprim NetworkManager (deoarece încă nu suportă bridging)

$ sudo systemctl disable NetworkManager
$ sudo systemctl stop NetworkManager

Activăm și pornim serviciul vechi de networking

$ sudo systemctl enable network
$ sudo systemctl start network

Pasul III. Instalarea pachetului care conține utilitarul de instalare și a utilitarului

Instalăm pachetul care contine utilitarul

$ sudo yum install -y centos-release-openstack-ocata
$ sudo yum update -y

Unde ocata este ultima versiune de OpenStack.

Instalăm ultilitarul care ne va ajuta să facem instalarea de OpenStack.

$ sudo yum install -y openstack-packstack

Pasul IV. Instalam OpenStack folosind Packstack

Pentru a configura detaliile instalări Packstack foloseste un fișier care poate fi generat folosind următoarea comandă:

$ packstack --gen-answer-file=answer.txt

Rezultatul comenzi de mai sus este un fișier asemănător cu urmatoarea imagine: Setarea unui IP static In acest fișier o să dezactivăm anumite servicii de care nu avem nevoie:

  • Cinder proiectul care ofera Block Storage
      CONFIG_CINDER_INSTALL=n
    
  • Swift proiectul care ofera Object Storage
      CONFIG_SWIFT_INSTALL=n
    
  • Ceilometer proiectul care permite colectarea de metrici despre Openstack
      CONFIG_CEILOMETER_INSTALL=n
    
  • Aodh proiectul care ofera setarea de alarme/notificari în OpenStack(se foloseste de Ceilometer pentru a notifica administratorul daca anumite metrici trec de un anumit prag)
      CONFIG_AODH_INSTALL=n
    
  • Gnocchi proiectul care permite stocarea de metrici cu o dimensiune foarte mare
      CONFIG_GNOCCHI_INSTALL=n
    

    După personalizarea fișierului de configurare putem porni instalarea folosind comanda:

    $ sudo packstack --answer-file=answer.txt
    

    Acest proces durează aproximativ 30 minute!

Pasul V. Finalizarea instalării

După finalizarea instalări putem accesa Horizon la urmatoarea adresă localhost:8080. Credențialele pentru userul admin se află în fișierul /root/keystonerc_admin în variabila OS_PASSWORD.

Horizon-Dashboard