IT Blog

Questo sarà un tutorial completo sull’installazione di OpenStack (minimal config). Mi piacerebbe molto provare il sistema operativo cloud open source e OpenStack è una delle soluzioni serie, utilizzata da molte istituzioni e aziende. Il Cern è uno tra gli utenti e Red Hat è un forte sostenitore di OpenStack.

Fai attenzione: anche dopo questo tutorial “appianato”, sarai accolto con errori dopo aver impostato tutto, e dovrai ricercare di più per far funzionare bene OpenStack. Scriverò su alcuni dei problemi in alcune guide più rapide.

OpenStack ha anche la reputazione di essere complicato da installare e mantenere e non molto stabile. Ho letto molto sull’argomento OpenStack, ho esaminato molta documentazione e questo è il risultato. Questo coprirà l’installazione manuale del rilascio del treno, e questa vasta serie coprirà ogni componente dell’installazione minima di OpenStack (non lasciarti ingannare da questo minimo, c’è molto da fare).

Ci sono alcune differenze tra la documentazione ufficiale di OpenStack e la distribuzione stessa, quindi questo tutorial dovrebbe anche aiutarti a risparmiare innumerevoli ore di ricerca di errori e decifrare gli errori attraverso il modo.

La procedura è noiosa, ma lo consiglio vivamente, poiché alla fine avrai una buona comprensione dei principi di base di OpenStack.

Maggiori informazioni sull’argomento la prossima volta, mettiamoci al lavoro.

C’è una curva di apprendimento, e da quello che ho letto credo che OpenStack sia in questo momento una soluzione stabile per le tue esigenze cloud.

Ma, vedremo lungo la strada, lascia tuffarsi.

Prerequisiti

Userò CentOS 7 per le mie installazioni (v. 1908). Creerò il mio laboratorio in VMware Fusion / Workstation. L’installazione iniziale di CentOS è minima senza GUI o aggiunte.

Tutte le mie macchine virtuali avranno core 4CPU e 8GB di RAM con un minimo di disco rigido 120GB.Puoi trovare i requisiti minimi qui- https://docs.openstack.org/install-guide/overview.html

Prendi nota dei requisiti aggiuntivi dei componenti di rete e unità e aggiungili di conseguenza al tuo LABORATORIO.

Il mio LABORATORIO ha accesso a Internet.

Seguirò la documentazione di OpenStack lungo la strada – https://docs.openstack.org/install-guide/common/conventions.html

Installerò la build del treno, che è quella corrente. Inizierò con il nodo del controller 1 e il nodo di calcolo 1.

La rete del provider sarà la seguente (è necessario l’accesso a Internet per questa configurazione):

10.0.0.1/24 – gateway

10.0.0.11/24 – Controller Node 1

10.0.0.31/24 – Compute Node 1

10.0.0.41/24 – Block Storage Node 1

10.0.0.51/24-Object Storage Node 1

10.0.0.52/24 – Object Storage Node 2

Creerò anche in seguito rete nell’intervallo 203.0.113.0/24, che sarà rete di gestione.

Qui ci sono anche i nomi e gli indirizzi IP delle macchine (c’è anche bisogno di loro nel file hosts):

10.0.0.11 controller

10.0.0.31 compute1

10.0.0.41 blocco1

10.0.0.51 object1

10.0.0.52 object2

Cambiare l’Hostname della Macchina

Per ogni macchina in laboratorio cambiare hostname. Cambierò i miei nomi host con i nomi che ho specificato appena sopra questo.

Comando è sotto, controller è il nome di una delle macchine, cambiarlo a quello che si vede in forma.

sudo hostnamectl set-hostname controller

Ecco cosa cambia dopo il riavvio.

Ho chiamato le mie macchine – controller, compute1, block1, object1, object2.

Configurare la Risoluzione dei nomi

Modificare l’interfaccia di rete che si trova in /etc/sysconfig/network-scripts

Nel mio caso, ho l’interfaccia ifcfg-ens33

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

ho modificato seguenti righe (macchina del regolatore di esempio):

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

Ecco come si presenta l’

Riavviare la macchina dopo aver impostato la configurazione ip. Ripeti questi passaggi per tutte le macchine in laboratorio (ovviamente imposta un indirizzo IP diverso per ciascuna).

Aggiorna installazione CentOS

Prima di andare oltre, aggiorneremo le nostre installazioni CentOS. In questo modo confermeremo anche la nostra connettività internet.

sudo yum update -y

Modifica il file Hosts

Ancora una volta, dobbiamo farlo su ogni macchina. Modificheremo il file hosts, in modo che le macchine possano vedersi con il nome.

sudo vi /etc/hosts/

Questo è ciò di cui abbiamo bisogno per entrare

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

Ecco come il mio file ha l’aspetto

Se abbiamo fatto tutto ok, ora dovremmo essere in grado di eseguire il ping dal controller di compute1 e viceversa con il nome. (Assicurarsi che il ping è disponibile attraverso il firewall)

Funziona.Inserisci questi valori in ogni file hosts su ogni macchina e assicurati di poter eseguire il ping di ogni macchina e testare da ogni macchina.

Setup NTP service

La misurazione precisa del tempo è importante, quindi imposteremo time server e collegheremo i client ad esso. Time server sarà il nostro server controller e client tutte le altre macchine.

Configurazione del server NTP

Lo faremo sul nostro server controller.

sudo yum install chrony -y

Abilita e avvia il servizio eseguendo

sudo systemctl start chronydsudo systemctl enable chronyd

Puoi anche controllare lo stato del servizio eseguendo

systemctl status chronyd

Successivamente, modificheremo/etc / chrony.conf file

sudo vi /etc/chrony.conf

Per questo tutorial lascerò i server NTP centos predefiniti. Altrimenti, se si desidera modificare i server NTP, è possibile, aggiungendo il comando qui sotto (Sostituire NTP_SERVER con il nome del server NTP)

server NTP_SERVER iburst

Inoltre avremo bisogno di abilitare l’accesso per i nostri client NTP dalla rete locale disattivando e modificando la riga seguente

allow 10.0.0.0/24

Ecco la mia configurazione. La parte verde è dove entrerai nei tuoi server NTP e la parte rossa è abilitata all’accesso dalla nostra rete locale per la sincronizzazione dell’ora.

Riavviare il server o il chrony servizio digitando

sudo systemctl restart chronyd

Si provvederà a controllare se il nostro server di sincronizzazione di tempo digitando

chronyc sources

il Servizio funziona per me.

Lo abiliteremo anche tramite firewall

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

Configurazione client NTP

Questi passaggi devono essere eseguiti sul resto delle macchine.

Ancora una volta, abbiamo bisogno di installare chrony

sudo yum install chrony

Abilitare e avviare il servizio NTP

sudo systemctl start chronydsudo systemctl enable chronyd

Dopo di che abbiamo ancora bisogno di modificare/etc / chrony.conf

sudo vi /etc/chrony.conf

Sarà necessario eliminare tutti i coment fuori tutti i server NTP e inserire seguente

server controller iburst

Lasciare tutto così com’è, e chiudere il file. Ecco come appare il mio.

di Nuovo, riavviare il servizio NTP

sudo systemctl restart chronyd

E permette di verificare se funziona

chronyc sources

funziona, client comunica con il server NTP.

E, sul server NTP se entriamo comando

chronyc clients

vedremo che compute1 è NTP client

Ripetere il passaggio sul resto delle macchine.

Pacchetti OpenStack

Questi passaggi devono essere eseguiti su tutti i nodi. Se non hai aggiornato l’installazione di CentOS e disabiliti anche EPEL Repo.

!!!//E ‘ SOLO PER RED HAT INSTALLA, CENTOS SALTARE QUESTO

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

Eseguire il seguente comando (stiamo installando Treno di rilascio)

sudo yum install centos-release-openstack-train

il Prossimo comando verrà eseguito è

sudo yum upgrade

Riavviare il computer dopo di esso, e selezionare nuovo kernel per attivarlo.

Il comando successivo sarà

sudo yum install python-openstackclient

E alla fine, abbiamo bisogno di integrare la nostra installazione OpenStack in SELinux

sudo yum install openstack-selinux

Database SQL

Database verrà installato sul nodo del controller.Installeremo MariaDB.

sudo yum install mariadb mariadb-server python2-PyMySQL

Al termine dell’installazione, sarà necessario modificare un openstack.conf situato in / eccetera / il mio.cnf.d

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

potremo creare mysqld sezione con informazioni seguenti (assicurarsi bind-address è l’indirizzo del tuo controller)

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

Ecco come si presenta nel mio caso

Attivare e avviare MariaDB

sudo systemctl enable mariadb.servicesudo systemctl start mariadb.service

Ci sarà anche aggiungere eccezione del firewall

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

Infine, ci sarà sicuro di installazione e impostazione di una password per root utente sql

sudo mysql_secure_installation

Message Queue

OpenStack utilizza messaggio di coda coordinare le operazioni e lo stato tra i servizi. Di solito funziona sul controller, quindi lo installeremo sul controller. Installeremo RabbitMQ

Installazione

sudo yum install rabbitmq-server

Avvia e abilita il servizio

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

Aggiungi l’utente openstack ad esso. Sostituisci RABBIT_PASS con la tua password.

sudo rabbitmqctl add_user openstack RABBIT_PASS

permessi

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

Queste sono le impostazioni del firewall per 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

Opzionale SELinux comando

setsebool -P nis_enabled 1

Memcached

Il servizio di Identità meccanismo di autenticazione per i servizi utilizza Memcached per memorizzare nella cache i token. Il servizio memcached viene eseguito in genere sul nodo del controller, quindi lo installerò sul nodo del controller.

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.i servizi org – OpenStack possono utilizzare Etcd, un archivio chiave-valore affidabile distribuito per il blocco dei tasti distribuiti, la memorizzazione della configurazione, il monitoraggio della live-ness del servizio e altri scenari.

Etcd deve essere installato sul nodo del controller.

Installazione

sudo yum install etcd

Successivamente modificheremo/etc/etcd / etcd.conf

sudo vi /etc/etcd/etcd.conf

È necessario modificare il file in questo modo e modificare i valori sottostanti in modo che corrispondano all’IP o al nome del controller.

#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"

Questo è come il mio file ha l’aspetto

Attivare e avviare il servizio

sudo systemctl enable etcdsudo systemctl start etcd

Altre impostazioni del firewall

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

Così, siamo più o meno “fatto” con initiall parte, ci sarà ora di fare il Minimo per la distribuzione di Treno.

Distribuzione minima per Train

Ok, quindi abbiamo avuto successo finora. Ora faremo una distribuzione minima del servizio per il treno. Ulteriori dettagli possono essere trovati qui – https://docs.openstack.org/install-guide/openstack-services.html

i Servizi devono essere installati nell’ordine specificato, come illustrato di seguito.

Dal momento che questo tutorial è un po ‘ di tempo, ho intenzione di finire qui, di copertura e di ciascuno dei servizi di cui sopra in un altro tutorial.

La cosa importante è fare tutti i servizi in ordine esatto come sono sotto.

Ecco i link

  1. Identity service – installazione keystone per treno

2. Servizio immagine-installazione colpo d’occhio per treno

3. Servizio di posizionamento – installazione di posizionamento per treno

4. Compute service-installazione nova per treno

5. Servizio di rete – installazione di neutroni per Train

Si consiglia di installare anche i seguenti componenti dopo aver installato i servizi di distribuzione minimi:

6. Installazione cruscotto-orizzonte per treno

7. Servizio di stoccaggio a blocchi – installazione di cenere per treno

8. Object Storage service – swift installation for Train

Additional links for after installation for errors you may encounter:

Disclaimer

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.