Skip to content
S

SimpleINFRA

SimpleINFRA

Acest spatiu de lucru descrie rezultatele activitatii 3.3, 'Aplicatie software de configurare automata a unei solutii de virtualizare', din cadrul proiectului MOISE.

Structura spatiului de lucru este urmatoarea:

  • maas-juju - directorul contine aplicatii necesare pentru configurarea serviciilor MAAS si JUJU;
  • scripts - directorul contine o serie de switchuri ce faciliteaza configurarea automata a unor servicii fizice: switchuri, sisteme de control ale nodurilor (BMC), sisteme de stocare de date etc.;

Acces

Acest spatiu de lucru este protejat, accesul la aplicatii fiind permis doar pe baza de cerere. Descrierea activitatilor dezvoltate in cadrul activitatii 3.3 sunt disponibile in rapoartele periodice trimise catre unitatea de finantare.

Descriere aplicatie SimpleINFRA

Aplicatia SimpleINFRA ofera o metodologie si un set de aplicatii ce usureaza procesul de instalare si configurare automata a unei solutii de virtualizare. Solutia de virtualizare aleasa este OpenStack iar pentru orchestrarea de aplicatii distribuite si scalabile se va instala Kubernetes.

Solutia de virtualizare OpenStack se instaleaza peste resursele fizice avute la dispozitie de catre utilizator.

Resursele fizice minim recomandate pentru o instalare in modul de inalta disponibilitate sunt urmatoarele:

  • 3 noduri pentru servicii, cu minim doua legaturi de retea de minim 10GbE cu suport IPMI;
  • 3 noduri pentru calcul, cu minim doua legaturi de retea de minim 10GbE cu suport IPMI;
  • 1 sistem de stocare de date de tip block storage folosind iSCSI sau FC pe 10GbE cu doua controllere in modul activ-activ;
  • 2 sisteme de interconectare de retea (switchuri) de minim 10GbE cu 2 porturi de uplink de 25GbE;

Pentru configurarea automata a resurselor si instalarea solutiei de virtualizare in proiectul MOISE au fost integrate urmatoarele tehnologii:

Avand aceasta configuratie minimala SimpleINFRA se va ocupa de configurarea echipamentelor pentru instalarea si configurarea OpenStack.

Pregatirea resurselor hardware

Resursele hardware trebuie configurare pentru folosirea lor in configuratia OpenStack.

Sistemele de interconectare

Switchurile de interconectare trebuie sa fie configurate in modul MLAG (Multichassis Link Aggregation) si cele doua conexiuni ale nodurilor folosite sa fie conectate separat cate una in fiecare switch. Aceste aspecte nu sunt acoperite de aplicatia SimpleINFRA. Fiecare switch trebuie sa aiba creat un utilizator administrator cu o parola de acces ce mai departe sunt folosite de scriptul scripts/switch-configure.sh pentru a realiza urmatoarele actiuni:

  • crearea VLANurilor necesare pentru OpenStack:
    • VLAN_ADMINISTRATIV (necesar pentru operatii administrative la nivel de resurse fizice);
    • VLAN_OPENSTACK (necesar pentru comunicarea interna a componentelor OpenStack)
    • VLAN_ADRESE_PUBLICE (necesar pentru adresele publice disponibile pentru resursele virtuale create prin OpenStack)
  • configurarea conexiunilor nodurilor instalate pentru conectivitate de inalta disponibilitate folosind protocolul LACP;
  • configurarea VLANurilor mai sus amintite pe conexiunile nodurilor instalate;

Unitatea de stocare de date

Unitatea de stocare de date trebuie configurata astfel incat sa accepte adresele nodurilor instalate pentru transmiterea de discuri de date catre acestea. Acest lucru se realizeaza prin intermediul scriptului scripts/storage-configure.sh. Acesta script are nevoie ca date de intrare de adresa echipamentului si de o pereche utilizator/parola cu drept administrativ pe echipamentul de calcul.

Configurare serviciu de administrare la distanta (iLo/IPMI)

Serviciul de administrare la distanta a echipamentelor fizice este o componenta hardware importanta ce permite executarea de operatii de pornire/oprire/configurare mod de pornire etc. asupra echipamentelor de calcul. Acest serviciu este folosit de Canonical MAAS pentru configurarea automata a resurselor. Pentru fiecare echipament este necesara obtinerea utilizatorului si a parolei implicite (oferita de productatorul echipamentului si se regaseste de regula imprimata pe carcasa echipamentului). Mai departe se foloseste scriptul scripts/ipmi-control.sh pentru extragerea informatiilor necesare si configurarea initiala IPMI necesara pentru Canonical MAAS.

Pregatirea serviciului Canonical MAAS

Aceste servicii se instaleaza pe un nod de calcul fie fizic fie virtualizat folosind tehnologii de virtualizare (QEMU/KVM sau VMWare) si se va folosi sistemul de operare Ubuntu 22.04. Acest nod trebuie sa dispuna de doua interfete de retea configurate in VLANurile: VLAN_ADMINISTRATIV si VLAN_OPENSTACK. Comenzile de instalare MAAS sunt urmatoarele:

sudo apt-add-repository ppa:maas/3.2
sudo apt update
sudo apt-get -y install maas

Dupa instalare se creaza un utilizator administrator folosind comanda:

sudo maas createadmin --username=$PROFILE --email=$EMAIL_ADDRESS
maas apikey --username admin # se salveaza cheia API returnata MAAS_API_KEY

si apoi se acceseaza interfata de administrare:

http://MAAS_IP_ADDRESS:5240/MAAS

Pornirea initiala a resurselor

Pentru descoperirea automata a resurselor se va apela scriptul scripts/ipmi-control.sh pentru pornirea acestora din retea.

Dupa descoperirea acestora automat, se foloseste scriptul scripts/maas-configure.sh pentru modificarea anumitor parametrii fizici necesari instalarii ulterioare a OpenStack.

Pregatirea nodurilor operator si controllerului JUJU

Aceste doua noduri sunt folosite pentru operarea Canonical JUJU ce se ocupa de instalarea automata a solutiei de virtualizare OpenStack. Aceste doua noduri pot fi virtualizate. Nodul juju-controller trebuie configurat in MAAS ca nod virtual ce poate fi controlat de MAAS, similar cu nodurile fizice prin IPMI.

Pe nodul operator, instalat cu Ubuntu 22.04, se pregateste aplicatia Juju folosind urmatoarele comenzi:

sudo snap install juju --classic
cat > container-cloud.yaml <<EOF
clouds:
  container-cloud:
    type: maas
    auth-types: [oauth1]
    endpoint: http://MAAS_IP_ADDRESS:5240/MAAS
EOF
juju add-cloud --client -f container-cloud.yaml container-cloud

cat > container-cloud-credentials.yaml <<EOF
credentials:
  container-cloud:
    admin:
      auth-type: oauth1
      maas-oauth: MAAS_API_KEY
EOF
juju add-credential --client -f container-cloud-credentials.yaml container-cloud

Apoi se instaleaza controllerul JUJU:

juju bootstrap --bootstrap-series=focal --constraints tags=juju container-cloud container-juju-controller-01

Instalarea OpenStack

Mai departe, de pe nodul operator se poate face instalarea si configurarea automata a componentelor solutiei de virtualizare OpenStack folosind sablonul de instalare OpenStack-Bundle (accesul la acesta este restrictionat; vezi sectiunea Acces).

Dupa finalizarea cu succes a instalarii solutia de virtualizare OpenStack este disponibila la adresa componentei Dashboard, configurata in OpenStack-Bundle.