It Blog

acesta va fi un tutorial complet despre instalarea OpenStack (configurare minimă). Aș dori foarte mult să încerc sistemul de operare cloud open-source, iar OpenStack este una dintre soluțiile Serioase, utilizate de multe instituții și întreprinderi. Cern este unul dintre utilizatori, iar Red Hat este un susținător puternic al OpenStack.

fiți conștienți: chiar și după acest tutorial „călcat”, veți fi întâmpinați cu erori după ce ați configurat totul și va trebui să cercetați mai mult pentru ca OpenStack-ul dvs. să funcționeze ok. Voi scrie despre unele dintre probleme în câteva ghiduri rapide.

OpenStack are, de asemenea, reputația de a fi complicat de instalat și întreținut și nu foarte stabil. Am citit mult pe subiectul OpenStack, am trecut prin multă documentație și acesta este rezultatul. Aceasta va acoperi instalarea manuală a eliberării trenului, iar această serie extinsă va acoperi fiecare componentă a instalării minime OpenStack (nu lăsați acest minim să vă păcălească, există multe de făcut).

există câteva diferențe între documentația oficială OpenStack și implementarea în sine, astfel încât acest tutorial ar trebui să vă ajute, de asemenea, să economisiți nenumărate ore de căutare a greșelilor și de descifrare a erorilor.

procedura este obositoare, dar aș recomanda-o foarte mult, deoarece la sfârșitul acesteia, veți avea o bună înțelegere a principiilor de bază ale OpenStack.

Mai multe despre acest subiect data viitoare, să trecem la treabă.

există o curbă de învățare și, din ceea ce am citit, cred că OpenStack este în acest moment o soluție stabilă pentru nevoile dvs. de cloud.

dar, vom vedea pe parcurs, să ne scufundăm.

premise

voi folosi CentOS 7 pentru instalările mele (v.1908). Voi crea laboratorul meu în VMware Fusion / Workstation. CentOS instalarea inițială este minimă fără GUI sau orice adăugiri.

toate VM-urile mele vor avea nuclee 4cpu și 8 GB RAM cu un hard disk Minim de 120 GB.Puteți găsi cerințe minime aici – https://docs.openstack.org/install-guide/overview.html

luați notă despre cerințele suplimentare de la componentele de rețea și unitate și adăugați în consecință la laboratorul dvs.

laboratorul meu are acces la internet.

voi urmări documentația OpenStack pe parcurs – https://docs.openstack.org/install-guide/common/conventions.html

voi instala construirea trenului, care este cea actuală. Voi începe cu Nodul controlerului 1 și nodul de calcul 1.

rețeaua furnizorului va fi după cum urmează (aveți nevoie de acces la internet pentru această configurație):

10.0.0.1/24 – gateway

10.0.0.11/24 – nodul controlerului 1

10.0.0.31/24 – nodul de calcul 1

10.0.0.41/24 – nodul de stocare bloc 1

10.0.0.51/24-nod de stocare obiect 1

10.0.0.52/24 – nod de stocare obiect 2

voi crea, de asemenea, mai târziu de rețea în intervalul 203.0.113.0 / 24, care va fi de gestionare a rețelei.

iată și numele și adresele IP ale mașinilor (veți avea nevoie și de ele în fișierul hosts):

10.0.0.11 controler

10.0.0.31 compute1

10.0.0.41 block1

10.0.0.51 object1

10.0.0.52 object2

schimba numele de gazdă mașină

pentru fiecare mașină în numele de gazdă schimbare de laborator. Voi schimba numele de gazdă la numele pe care le-am specificat chiar deasupra acestui lucru.

comanda este mai jos, controlerul este numele uneia dintre mașini, schimbați-l la ceea ce considerați potrivit.

sudo hostnamectl set-hostname controller

Iată ce se schimbă după repornire.

am numit mașinile mele – controler, compute1, block1, object1, object2.

configurează rezoluția numelui

editează interfața de rețea localizată în /etc/sysconfig/network-scripts

în cazul meu, am interfață ifcfg-ens33

sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33

am editat următoarele linii (exemplu mașină controler):

BOOTPROTO=noneIPADDR=10.0.0.11PREFIX=24GATEWAY=10.0.0.1DNS1=10.0.0.1DNS2=8.8.8.8ONBOOT=yesIPV6INIT=no

iată cum arată

reporniți mașina după ce setați configurația IP. Repetați acești pași pentru toate mașinile din laborator (desigur setați o adresă IP diferită pentru fiecare).

actualizare instalare CentOS

înainte de a merge mai departe, vom actualiza instalațiile noastre CentOS. În acest fel vom confirma și conectivitatea noastră la internet.

sudo yum update -y

editați fișierul gazdelor

Din nou, trebuie să facem asta pe fiecare mașină. Vom edita fișierul gazdelor, astfel încât mașinile să se poată vedea reciproc după nume.

sudo vi /etc/hosts/

asta trebuie să introducem

10.0.0.11 controller10.0.0.31 compute110.0.0.41 block110.0.0.51 object110.0.0.52 object2

Iată cum arată fișierul meu

dacă am făcut totul ok, acum ar trebui să putem face ping de la controler la compute1 și invers după nume. (Asigurați-vă că ping-ul dvs. este disponibil prin firewall)

funcționează.Introduceți aceste valori în fiecare fișier hosts pe fiecare mașină și asigurați-vă că puteți ping fiecare mașină, și de testare de la fiecare mașină.

Setup NTP service

măsurarea precisă a timpului este importantă, așa că vom seta serverul de timp și vom atașa clienții la acesta. Serverul de timp va fi serverul nostru de control și clientul tuturor celorlalte mașini.

configurarea serverului NTP

vom face acest lucru pe serverul nostru de control.

sudo yum install chrony -y

activați și porniți serviciul rulând

sudo systemctl start chronydsudo systemctl enable chronyd

de asemenea, puteți verifica starea serviciului rulând

systemctl status chronyd

în continuare, vom edita/etc / chrony.fișier conf

sudo vi /etc/chrony.conf

pentru acest tutorial voi lăsa serverele implicite centos NTP. În caz contrar, dacă doriți să editați serverele NTP, puteți adăuga comanda de mai jos (înlocuiți NTP_SERVER cu numele serverului NTP)

server NTP_SERVER iburst

De asemenea, va trebui să activăm accesul clienților noștri NTP din rețeaua locală prin necomentarea și editarea următorului rând

allow 10.0.0.0/24

aici este config-ul meu. Partea verde este locul în care veți introduce serverele NTP, iar partea roșie este activată accesul din rețeaua noastră locală pentru sincronizarea timpului.

reporniți serverul sau serviciul chrony tastând

sudo systemctl restart chronyd

vom verifica dacă serverul nostru sincronizează timpul tastând

chronyc sources

serviciul funcționează pentru mine.

îl vom activa și prin firewall

sudo firewall-cmd --permanent --add-service=ntpsudo firewall-cmd --reload

configurarea clienților NTP

acești pași trebuie făcuți pe restul mașinilor.

Din nou, trebuie să instalăm chrony

sudo yum install chrony

activați și porniți serviciul NTP

sudo systemctl start chronydsudo systemctl enable chronyd

după care trebuie din nou să edităm/etc / chrony.conf

sudo vi /etc/chrony.conf

va trebui să ștergeți toate coment din toate serverele NTP și introduceți următoarele

server controller iburst

lăsați totul așa cum este și închideți fișierul. Așa arată a mea.

din nou, reporniți serviciul NTP

sudo systemctl restart chronyd

și vă permite să verificați dacă funcționează

chronyc sources

funcționează, clientul comunică cu serverul NTP.

și, pe serverul NTP dacă introducem comanda

chronyc clients

vom vedea că compute1 este client NTP

repetați pasul pe restul mașinilor.

pachete OpenStack

acești pași trebuie făcuți pe toate nodurile. Dacă nu ați actualizat instalarea CentOS și, de asemenea, dezactivați EPEL Repo.

!!!///Numai pentru instalările Red HAT, CENTOS sări peste acest

subscription-manager repos --enable=rhel-7-server-optional-rpms \ --enable=rhel-7-server-extras-rpms --enable=rhel-7-server-rh-common-rpms

rulați următoarea comandă (instalăm eliberarea trenului)

sudo yum install centos-release-openstack-train

următoarea comandă pe care o vom rula este

sudo yum upgrade

reporniți după acesta și selectați kernel nou pentru a-l activa.

următoarea comandă va fi

sudo yum install python-openstackclient

și în cele din urmă, avem nevoie să integrăm instalarea OpenStack în SELinux

sudo yum install openstack-selinux

baza de date SQL

baza de date va fi instalată pe nodul controlerului.Vom instala MariaDB.

sudo yum install mariadb mariadb-server python2-PyMySQL

după terminarea instalării, va trebui să edităm un openstack.conf situat în / etc / meu.cnf.d

sudo vi /etc/my.cnf.d/openstack.conf

vom crea secțiunea mysqld cu următoarele informații (asigurați-vă că adresa bind este adresa controlerului dvs.)

bind-address = 10.0.0.11default-storage-engine = innodbinnodb_file_per_table = onmax_connections = 4096collation-server = utf8_general_cicharacter-set-server = utf8

Iată cum arată în cazul meu

activați și porniți MariaDB

sudo systemctl enable mariadb.servicesudo systemctl start mariadb.service

vom adăuga, de asemenea, excepție firewall

sudo firewall-cmd --permanent --add-service=mysqlsudo firewall-cmd --reload

în cele din urmă vom asigura instalarea noastră și a stabilit parola pentru root SQL utilizator

sudo mysql_secure_installation

coada de mesaje

OpenStack utilizează coada de mesaje pentru a coordonează operațiunile și starea între servicii. De obicei rulează pe controler, așa că îl vom instala pe controler. Vom instala RabbitMQ

instalare

sudo yum install rabbitmq-server

porniți și activați serviciul

sudo systemctl enable rabbitmq-server.servicesudo systemctl start rabbitmq-server.service

Adăugați utilizator openstack la acesta. Înlocuiți RABBIT_PASS cu parola.

sudo rabbitmqctl add_user openstack RABBIT_PASS

Setați permisiunile

rabbitmqctl set_permissions openstack ".*" ".*" ".*"

acestea sunt setări Firewall pentru RabbitMQ

sudo firewall-cmd --zone=public --permanent --add-port=4369/tcp --add-port=25672/tcp --add-port=5671-5672/tcp --add-port=15672/tcp --add-port=61613-61614/tcp --add-port=1883/tcp --add-port=8883/tcpsudo firewall-cmd --reload

comandă SELinux opțională

setsebool -P nis_enabled 1

memcached

mecanismul de autentificare a serviciului de identitate pentru servicii utilizează memcached pentru a cache jetoane. Serviciul memcached rulează de obicei pe nodul controlerului, așa că îl voi instala pe nodul controlerului.

Installation

sudo yum install memcached python-memcached

Next, we will edit /etc/sysconfig/memcached

sudo vi /etc/sysconfig/memcached

controller should be added to OPTIONS line, like this

OPTIONS="-l 127.0.0.1,::1,controller"

At last, we will enable and start service

sudo systemctl enable memcached.servicesudo systemctl start memcached.service

Optional firewall settings for memcached

sudo firewall-cmd --new-zone=memcached --permanentsudo firewall-cmd --zone=memcached --add-port=11211/udp --permanentsudo firewall-cmd --zone=memcached --add-port=11211/tcp --permanentsudo firewall-cmd --zone=memcached --add-source=10.0.0.0/24 --permanentsudo firewall-cmd --reload

Etcd

Short explanation from docs.openstack.serviciile org-OpenStack pot utiliza Etcd, un magazin de valori distribuite de încredere pentru blocarea cheilor distribuite, stocarea configurației, urmărirea serviciului live-ness și alte scenarii.

Etcd ar trebui să fie instalat pe nod controler.

instalare

sudo yum install etcd

în continuare vom edita/etc/etcd / etcd.conf

sudo vi /etc/etcd/etcd.conf

ar trebui să editați fișierul ca acesta și să modificați valorile de mai jos pentru a se potrivi IP-ului sau numelui controlerului.

#ETCD_DATA_DIR="/var/lib/etcd/default.etcd"ETCD_LISTEN_PEER_URLS="http://10.0.0.11:2380"ETCD_LISTEN_CLIENT_URLS="http://10.0.0.11:2379"ETCD_NAME="controller"#ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.0.0.11:2380"ETCD_ADVERTISE_CLIENT_URLS="http://10.0.0.11:2379"ETCD_INITIAL_CLUSTER="controller=http://10.0.0.11:2380"ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"ETCD_INITIAL_CLUSTER_STATE="new"

așa arată fișierul meu

activați și porniți serviciul

sudo systemctl enable etcdsudo systemctl start etcd

setări suplimentare pentru firewall

sudo firewall-cmd --add-port={2379,2380}/tcp --permanentsudo firewall-cmd --reload

deci, suntem mai mult sau mai puțin” terminați ” cu o parte inițială, acum vom face o implementare minimă pentru tren.

implementare minimă pentru tren

Ok, așa că am avut succes până acum. Acum vom face o implementare minimă a serviciilor pentru tren. Mai multe detalii pot fi găsite aici – https://docs.openstack.org/install-guide/openstack-services.html

Serviciile trebuie instalate în ordinea specificată, așa cum este descris mai jos

deoarece acest tutorial merge un pic lung deja, am de gând să-l termine aici, și să acopere fiecare dintre serviciile de mai sus în tutorial separat.

lucru Important este de a face toate serviciile în ordine exactă, deoarece acestea sunt de mai jos.

aici sunt link – urile

  1. serviciul de identitate-instalare keystone pentru tren

2. Service imagine – instalare privire pentru tren

3. Serviciu de plasare – instalație de plasare pentru tren

4. Compute service – instalare nova pentru tren

5. Serviciu de rețea – instalare neutron pentru tren

vă sfătuim să instalați și următoarele componente după ce ați instalat serviciile minime de implementare:

6. Tablou de bord-instalație orizont pentru tren

7. Serviciu de stocare bloc – instalare zgură pentru tren

8. Object Storage service – swift installation for Train

Additional links for after installation for errors you may encounter:

Disclaimer

Lasă un răspuns

Adresa ta de email nu va fi publicată.