Tämä on täydellinen opetusohjelma asentamisesta OpenStack (minimal config). Haluaisin kovasti kokeilla avoimen lähdekoodin pilvipalveluja, ja OpenStack on yksi vakavasti otettavista ratkaisuista, joita monet laitokset ja yritykset käyttävät. CERN on yksi käyttäjistä, ja Red Hat on OpenStackin vahva tukija.
ole tietoinen: senkin jälkeen, kun tämä ”silitetty” opetusohjelma, sinua tervehtii virheitä, kun olet määrittänyt kaiken, ja sinun täytyy tutkia lisää saada OpenStack toimimaan ok. Kirjoitan ongelmista vielä muutamassa pikaoppaassa.
Openstackilla on myös maine hankalana asentaa ja ylläpitää eikä se ole kovin vakaa. Luin paljon OpenStack-aiheesta, kävin läpi paljon dokumentaatiota ja tämä on tulos. Tämä kattaa manuaalinen asennus junan julkaisu, ja tämä laaja sarja kattaa jokaisen osan minimaalinen OpenStack asennus (älä anna tämän minimaalinen huijata sinua, on paljon tekemistä).
OpenStack official documentationin ja itse käyttöönoton välillä on muutamia eroja, joten tämän opetusohjelman pitäisi myös auttaa sinua säästämään lukemattomia tunteja virheiden etsimisessä ja virheiden selvittämisessä.
menettely on työläs, mutta suosittelen sitä lämpimästi, sillä sen lopussa OpenStackin perusperiaatteet ovat hyvin selvillä.
aiheesta lisää ensi kerralla, ruvetaan hommiin.
on oppimiskäyrä, ja lukemani perusteella uskon, että OpenStack on tällä hetkellä vakaa ratkaisu pilvitarpeisiisi.
mutta katsotaan matkan varrella, sukelletaan sisään.
edellytykset
aion käyttää CentOS 7: ää laitoksissani (v. 1908). Aion luoda minun LAB VMware Fusion / työasema. Centosin alkuasennus on minimaalinen ilman käyttöliittymää tai lisäyksiä.
kaikissa VMs-Järjestelmissäni on 4CPU-ydintä ja 8 Gt RAM-muistia vähintään 120 Gt kiintolevyllä.Vähimmäisvaatimukset löydät täältä – https://docs.openstack.org/install-guide/overview.html
huomioi verkko-ja asemakomponenttien lisävaatimukset ja lisää vastaavasti LABORATORIOOSI.
laboratoriossani on internetyhteys.
seuraan OpenStack – dokumentaatiota matkan varrella – https://docs.openstack.org/install-guide/common/conventions.html
asennan Junarakennuksen, joka on nykyinen. Aloitan ohjain solmu 1 ja laskea solmu 1.
Tarjoajaverkko on seuraavanlainen (tarvitset internet – yhteyden tätä konfiguraatiota varten):
10.0.0.1/24 – yhdyskäytävä
10.0.0.11/24 – Ohjainsolmu 1
10.0.0.31/24 – Laskusolmu 1
10.0.0.41/24-Lohkosolmu 1
10, 0, 0.51/24 – objektien Tallennussolmu 1
10.0.0.52/24-objektien Tallennussolmu 2
i myös myöhemmin luo verkon alueella 203.0.113.0/24, joka on hallintaverkosto.
tässä ovat myös koneiden nimet ja IP-osoitteet (tarvitset ne myös isäntätiedostossa):
10.0.0.11 ohjain
10.0.0.31 compute1
10.0.0.41 block1
10.0.0.51 object1
10.0.0.52 object2
H3>vaihda koneen konenimi
jokaiselle laboratorion koneelle vaihda konenimi. Muutan isäntänimeni juuri tämän yläpuolella mainitsemiini nimiin.
komento on alla, ohjain on jonkin koneen nimi, Muuta Se haluamaksesi.
sudo hostnamectl set-hostname controller
tältä muutos näyttää uudelleenkäynnistyksen jälkeen.
I named my machines – controller, compute1, block1, object1, object2.
Configure Name Resolution
Edit your network interface located in /etc/sysconfig/network-scripts
in my case, ifcfg-ens33
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
i edited following lines (controller machine example):
BOOTPROTO=noneIPADDR=10.0.0.11PREFIX=24GATEWAY=10.0.0.1DNS1=10.0.0.1DNS2=8.8.8.8ONBOOT=yesIPV6INIT=no
näin se näyttää
käynnistä kone uudelleen IP-kokoonpanon asettamisen jälkeen. Toista nämä vaiheet kaikille laboratorion koneille (aseta tietysti kullekin eri IP-osoite).
Päivitä CentOS-asennukset
ennen kuin jatkamme, päivitämme CentOS-asennukset. Näin varmistamme myös internetyhteytemme.
sudo yum update -y
muokkaa isäntätiedostoa
taas, se on tehtävä jokaisella koneella. Muokkaamme hosts-tiedostoa, jotta koneet voivat nähdä toisensa nimen perusteella.
sudo vi /etc/hosts/
tätä on kirjoitettava
10.0.0.11 controller10.0.0.31 compute110.0.0.41 block110.0.0.51 object110.0.0.52 object2
näin tiedostoni näyttää
jos teimme kaiken ok, meidän pitäisi nyt pystyä Ping ohjaimesta compute1 ja päinvastoin nimellä. (Varmista, että ping on käytettävissä palomuurin kautta)
toimii.Kirjoita nämä arvot jokaiseen isäntätiedostoon jokaisella koneella ja varmista, että voit ping jokaisen koneen, ja testata jokaisesta koneesta.
Setup NTP service
tarkka ajanmittaus on tärkeää, joten asetamme aikapalvelimen ja liitämme siihen asiakkaita. Time server on meidän controller server ja asiakas kaikki muut koneet.
NTP-palvelimen asetukset
teemme tämän ohjainpalvelimellamme.
sudo yum install chrony -y
Ota käyttöön ja käynnistä palvelu ajamalla
sudo systemctl start chronydsudo systemctl enable chronyd
voit myös tarkistaa palvelun tilan ajamalla
systemctl status chronyd
seuraavaksi edit/etc / chrony.conf-tiedosto
sudo vi /etc/chrony.conf
tälle tutoriaalille jätän oletusarvoiset centos NTP-palvelimet. Muuten jos haluat muokata NTP-palvelimia, voit lisätä komennon alle (korvaa ntp_server NTP-palvelimen nimellä)
server NTP_SERVER iburst
myös meidän täytyy mahdollistaa pääsy NTP-asiakkaillemme lähiverkosta kommentoimalla ja muokkaamalla seuraavaa riviä
allow 10.0.0.0/24
tässä on minun config. Vihreä osa on, jossa syötät NTP-palvelimet, ja punainen osa on käytössä pääsy lähiverkostamme ajan synkronointia varten.
käynnistä palvelin tai kronopalvelu kirjoittamalla
sudo systemctl restart chronyd
tarkistamme, synkronoiko palvelimemme ajan kirjoittamalla
chronyc sources
palvelu toimii minulle.
otamme sen käyttöön myös palomuurin kautta
sudo firewall-cmd --permanent --add-service=ntpsudo firewall-cmd --reload
NTP-asiakkaiden asetukset
nämä vaiheet on tehtävä muilla koneilla.
taas pitää asentaa chrony
sudo yum install chrony
Ota käyttöön ja käynnistä NTP-palvelu
sudo systemctl start chronydsudo systemctl enable chronyd
sen jälkeen on taas muokattava/etc / chrony.conf
sudo vi /etc/chrony.conf
sinun tulee poistaa kaikki coment kaikista NTP-palvelimista ja syöttää seuraavat
server controller iburst
jätä kaikki ennalleen ja sulje tiedosto. Tältä omani näyttää.
taas, Käynnistä NTP-palvelu uudelleen
sudo systemctl restart chronyd
ja tarkistetaan, toimiiko se
chronyc sources
se toimii, asiakas kommunikoi NTP-palvelimen kanssa.
ja, NTP-palvelimella jos annamme komennon
chronyc clients
näemme, että compute1 on NTP-asiakas
toista vaihe muilla koneilla.
OpenStack-paketit
nämä vaiheet on tehtävä kaikille solmuille. Jos et ole päivittänyt CentOS-asennusta,ja poista EPEL Repo käytöstä.
!!!///Only FOR RED HAT INSTALLS, CENTOS SKIP THIS
subscription-manager repos --enable=rhel-7-server-optional-rpms \ --enable=rhel-7-server-extras-rpms --enable=rhel-7-server-rh-common-rpms
Run following command (we are installing Train release)
sudo yum install centos-release-openstack-train
seuraava komento, jonka suoritamme, on
sudo yum upgrade
käynnistä sen jälkeen uudelleen ja valitse uusi ydin aktivoidaksesi sen.
seuraava komento on
sudo yum install python-openstackclient
ja vihdoinkin meidän on integroitava OpenStack-asennuksemme Selinuxiin
sudo yum install openstack-selinux
SQL-tietokanta
tietokanta asennetaan ohjaimen solmuun.Asennamme Mariadbin.
sudo yum install mariadb mariadb-server python2-PyMySQL
asennuksen jälkeen joudumme muokkaamaan OpenStackia.conf sijaitsee /etc/my.cnf.d
sudo vi /etc/my.cnf.d/openstack.conf
luomme mysqld-osion, jossa on seuraavat tiedot (varmista, että bind-osoite on ohjaimen osoite)
bind-address = 10.0.0.11default-storage-engine = innodbinnodb_file_per_table = onmax_connections = 4096collation-server = utf8_general_cicharacter-set-server = utf8
näin se näyttää minun tapauksessani
Ota käyttöön ja käynnistä MariaDB
sudo systemctl enable mariadb.servicesudo systemctl start mariadb.service
lisäämme myös palomuuripoikkeuksen
sudo firewall-cmd --permanent --add-service=mysqlsudo firewall-cmd --reload
lopuksi varmistamme asennuksen ja asetamme salasanan root SQL: lle user
sudo mysql_secure_installation
Message Queue
OpenStack käyttää viestijonoa koordinoi toimintoja ja tilaa palvelujen välillä. Se toimii yleensä ohjaimella, joten asennamme sen ohjaimeen. Asennamme RabbitMQ
asennus
sudo yum install rabbitmq-server
Käynnistä ja ota palvelu käyttöön
sudo systemctl enable rabbitmq-server.servicesudo systemctl start rabbitmq-server.service
lisää siihen openstack-käyttäjä. Korvaa RABBIT_PASS salasanallasi.
sudo rabbitmqctl add_user openstack RABBIT_PASS
Set luvat
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
nämä ovat palomuuriasetuksia RabbitMQ: lle
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
valinnainen SELinux-komento
setsebool -P nis_enabled 1
memcached
palveluiden identiteettipalvelun todennusmekanismi käyttää Memcached-välimuistipoletteja. Memcached-palvelu toimii tyypillisesti ohjaimisolmussa, joten asennan sen ohjaimisolmuun.
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.org-OpenStack-palvelut voivat käyttää etcd: tä, hajautettua luotettavaa avainarvosäilöä hajautetun avaimen lukitsemiseen, konfiguroinnin tallentamiseen, palvelun live-Nessin seurantaan ja muihin skenaarioihin.
Etcd tulee asentaa ohjaimen solmuun.
installaatio
sudo yum install etcd
seuraavaksi muokkaamme/etc/etcd / etcd.conf
sudo vi /etc/etcd/etcd.conf
sinun pitäisi muokata tiedostoa näin ja muuttaa alla olevia arvoja vastaamaan ohjaimen IP: tä tai nimeä.
#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"
näin tiedostoni näyttää
Ota käyttöön ja käynnistä palvelu
sudo systemctl enable etcdsudo systemctl start etcd
palomuurin lisäasetukset
sudo firewall-cmd --add-port={2379,2380}/tcp --permanentsudo firewall-cmd --reload
so, we are more or less ”done” with initial part, we will now be doing minimal Deployment for Train.
minimaalinen käyttöönotto junalle
Ok, joten onnistuimme toistaiseksi. Teemme nyt minimaalisen palvelukäytön junalle. Tarkemmat tiedot löytyvät täältä – https://docs.openstack.org/install-guide/openstack-services.html
palvelut on asennettava määrätyssä järjestyksessä, kuten alla on kuvattu
tämän tutorin jälkeen on menossa hieman pitkä jo, aion lopettaa sen täällä, ja kattaa kunkin palvelut edellä erillisessä opetusohjelma.
tärkeää on tehdä kaikki palvelut täsmällisessä järjestyksessä, koska ne ovat alla.
tässä linkit
- Identity service – keystone-asennus junaan
2. Image service-vilkaisuasennus junalle
3. Työnvälityspalvelu-sijoitusasennus junalle
4. Compute service – Nova-asennus junalle
5. Networking service-neutron installation for Train
suosittelemme asentamaan myös seuraavat komponentit, kun olet asentanut minimaaliset käyttöönottopalvelut:
6. Dashboard-horizon-asennus junaan
7. Lohkovarastointipalvelu-karrelle asennus junaan
8. Object Storage service – swift installation for Train
Additional links for after installation for errors you may encounter:
Disclaimer