detta kommer att bli en fullständig handledning om installation av OpenStack (minimal config). Jag skulle verkligen vilja prova Open source cloud OS, och OpenStack är en av de seriösa lösningarna som används av många institutioner och företag. Cern är en bland användarna, och Red Hat är stark anhängare av OpenStack.
var medveten: även efter denna” strykade ” handledning kommer du att hälsas med fel när du har ställt in allt, och du måste undersöka mer för att få din OpenStack att fungera ok. Jag kommer att skriva om några av problemen i några fler snabbguider.
OpenStack har också rykte om att vara komplicerat att installera och underhålla och inte särskilt stabilt. Jag läste mycket om OpenStack-ämnet, gick igenom mycket dokumentation och detta är resultatet. Detta kommer att täcka manuell installation av Tågutlösning, och den här omfattande serien kommer att täcka alla komponenter i Minimal OpenStack-installation (låt inte denna minimala lura dig, det finns mycket att göra).
det finns några skillnader mellan OpenStack officiell dokumentation och distribution själv, så denna handledning bör också hjälpa dig att spara otaliga timmar att leta efter misstag och dechiffrera fel genom vägen.
proceduren är tråkig, men jag rekommenderar det starkt, eftersom du i slutet av det kommer att ha en god förståelse för de grundläggande principerna för OpenStack.
mer om ämnet nästa gång, låt oss komma till jobbet.
det finns en inlärningskurva, och från vad jag läste tror jag att OpenStack just nu är en stabil lösning för dina molnbehov.
men vi får se på vägen, låter dyka in.
förutsättningar
Jag kommer att använda CentOS 7 för mina installationer (v.1908). Jag kommer att skapa mitt labb i VMware Fusion / Workstation. CentOS initial installation är minimal utan GUI eller några tillägg.
alla mina VMs kommer att ha 4cpu-kärnor och 8 GB RAM med minst 120 GB hårddisk.Du kan hitta minimikrav här – https://docs.openstack.org/install-guide/overview.html
notera ytterligare krav från nätverks-och drivkomponenter och Lägg till i ditt laboratorium.
mitt laboratorium har tillgång till internet.
Jag kommer att följa OpenStack dokumentation längs vägen – https://docs.openstack.org/install-guide/common/conventions.html
Jag kommer att installera tåg bygga, som är den nuvarande. Jag börjar med Controller Node 1 och Compute Node 1.
Leverantörsnätverket kommer att vara enligt följande (du behöver tillgång till internet för denna konfiguration):
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-Objektlagringsnod 1
10.0.0.52/24-Objektlagringsnod 2
Jag kommer också senare att skapa nätverk inom intervallet 203.0.113.0 / 24, som kommer att vara ledningsnätverk.
här är också namnen och IP-adresserna på maskinerna (du behöver dem också i värdfilen):
10.0.0.11 controller
10.0.0.31 compute1
10.0.0.41 block1
10.0.0.51 objekt1
10.0.0.52 objekt2
ändra maskinvärdnamn
för varje maskin i labbet ändra värdnamn. Jag kommer att ändra mina värdnamn till namnen jag angav precis ovanför detta.
kommandot är nedan, controller är namnet på en av maskinerna, ändra den till vad du tycker passar.
sudo hostnamectl set-hostname controller
här är vad ändringen ser efter omstart.
Jag heter Mina maskiner – controller, compute1, block1, object1, object2.
konfigurera namnupplösning
redigera ditt nätverksgränssnitt som finns i /etc/sysconfig/network-scripts
i mitt fall har jag gränssnitt ifcfg-ens33
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
jag redigerade följande rader (controller machine exempel):
BOOTPROTO=noneIPADDR=10.0.0.11PREFIX=24GATEWAY=10.0.0.1DNS1=10.0.0.1DNS2=8.8.8.8ONBOOT=yesIPV6INIT=no
så här ser det ut
starta om maskinen när du har ställt in IP-konfiguration. Upprepa dessa steg för alla maskiner i labbet (naturligtvis ange olika IP-adress för varje).
uppdatera CentOS installation
innan vi går vidare kommer vi att uppdatera våra CentOS installationer. På detta sätt kommer vi också att bekräfta vår internetanslutning.
sudo yum update -y
redigera värdfil
återigen måste vi göra det på varje maskin. Vi kommer att redigera värdfilen, så att maskiner kan se varandra med namnet.
sudo vi /etc/hosts/
det här är vad vi behöver ange
10.0.0.11 controller10.0.0.31 compute110.0.0.41 block110.0.0.51 object110.0.0.52 object2
Så här ser min fil ut
om vi gjorde allt ok, borde vi nu kunna Pinga från Controller till compute1 och vice versa med namnet. (Se till att din ping är tillgänglig via brandvägg)
fungerar.Ange dessa värden i varje värdfil på varje maskin och se till att du kan pinga varje maskin och testa från varje maskin.
Setup NTP service
exakt tidsmätning är viktigt så vi ställer in tidsserver och bifogar klienter till den. Tidsserver kommer att vara vår controller server och klient alla andra maskiner.
NTP server setup
Vi kommer att göra detta på vår controller server.
sudo yum install chrony -y
Aktivera och starta tjänsten genom att köra
sudo systemctl start chronydsudo systemctl enable chronyd
Du kan också kontrollera status för tjänsten genom att köra
systemctl status chronyd
därefter redigerar vi /etc/chrony.conf-fil
sudo vi /etc/chrony.conf
För denna handledning lämnar jag Standard centos NTP-servrar. Annars om du vill redigera NTP-servrar kan du genom att lägga till kommandot nedan (ersätt ntp_server med NTP-servernamn)
server NTP_SERVER iburst
Vi måste också aktivera åtkomst för våra NTP-klienter från lokalt nätverk genom att uncommenting och redigera följande rad
allow 10.0.0.0/24
Här är min konfiguration. Grön del är där du kommer in i dina NTP-servrar, och den röda delen är aktiverad åtkomst från vårt lokala nätverk för tidssynkronisering.
Starta om server eller chrony-tjänst genom att skriva in
sudo systemctl restart chronyd
Vi kommer att kontrollera om vår server synkroniserar tid genom att skriva in
chronyc sources
tjänsten fungerar för mig.
Vi kommer också att aktivera det genom brandvägg
sudo firewall-cmd --permanent --add-service=ntpsudo firewall-cmd --reload
NTP-klienter setup
dessa steg måste göras på resten av maskinerna.
återigen måste vi installera chrony
sudo yum install chrony
Aktivera och starta NTP-tjänst
sudo systemctl start chronydsudo systemctl enable chronyd
Efter det måste vi igen redigera /etc/chrony.conf
sudo vi /etc/chrony.conf
Du måste ta bort alla coment ut alla NTP-servrar och ange följande
server controller iburst
lämna allt som det är och stäng filen. Så här ser min ut.
Starta om NTP-tjänsten igen
sudo systemctl restart chronyd
och låt oss kontrollera om det fungerar
chronyc sources
det fungerar, klienten kommunicerar med NTP-servern.
och på NTP-servern om vi anger kommandot
chronyc clients
Vi kommer att se att compute1 är NTP-klient
upprepa steget på resten av maskinerna.
OpenStack-paket
dessa steg måste göras på alla noder. Om du inte har uppdaterat din CentOS-installation, och även inaktivera EPEL Repo.
!!!///Endast för Red HAT installationer, CENTOS hoppa över detta
subscription-manager repos --enable=rhel-7-server-optional-rpms \ --enable=rhel-7-server-extras-rpms --enable=rhel-7-server-rh-common-rpms
kör följande kommando (vi installerar tåg release)
sudo yum install centos-release-openstack-train
nästa kommando vi kommer att köra är
sudo yum upgrade
starta om efter det och välj ny kärna för att aktivera den.
nästa kommando kommer att vara
sudo yum install python-openstackclient
och äntligen behöver vi integrera vår OpenStack-installation i SELinux
sudo yum install openstack-selinux
SQL-databas
databas kommer att installeras på styrenhetens nod.Vi kommer att installera MariaDB.
sudo yum install mariadb mariadb-server python2-PyMySQL
När installationen är klar måste vi redigera en openstack.conf ligger i / etc / min.cnf.d
sudo vi /etc/my.cnf.d/openstack.conf
Vi skapar mysqld-avsnitt med följande information (se till att bind-adress är adressen till din kontroller)
bind-address = 10.0.0.11default-storage-engine = innodbinnodb_file_per_table = onmax_connections = 4096collation-server = utf8_general_cicharacter-set-server = utf8
Så här ser det ut i mitt fall
Aktivera och starta MariaDB
sudo systemctl enable mariadb.servicesudo systemctl start mariadb.service
Vi lägger också till brandväggsundantag
sudo firewall-cmd --permanent --add-service=mysqlsudo firewall-cmd --reload
slutligen kommer vi att säkra vår installation och ställa in lösenord för root SQL användare
sudo mysql_secure_installation
meddelandekö
OpenStack använder meddelandekö till koordinera verksamhet och status mellan tjänster. Det körs vanligtvis på controller, så vi installerar det på controller. Vi installerar RabbitMQ
Installation
sudo yum install rabbitmq-server
Starta och aktivera service
sudo systemctl enable rabbitmq-server.servicesudo systemctl start rabbitmq-server.service
Lägg till openstack-användare till den. Ersätt RABBIT_PASS med ditt lösenord.
sudo rabbitmqctl add_user openstack RABBIT_PASS
Ange behörigheter
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
det här är brandväggsinställningar för 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
valfritt SELinux-kommando
setsebool -P nis_enabled 1
memcached
identitetstjänstens autentiseringsmekanism för tjänster använder Memcached för att cache-tokens. Memcached-tjänsten körs vanligtvis på styrenhetens nod, så jag installerar den på styrenhetens nod.
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 services kan använda Etcd, en distribuerad pålitlig nyckel-värde butik för distribuerad nyckellåsning, Lagring konfiguration, hålla reda på tjänsten live-ness och andra scenarier.
Etcd ska installeras på styrenhetens nod.
Installation
sudo yum install etcd
nästa kommer vi att redigera /etc/etcd/etcd.conf
sudo vi /etc/etcd/etcd.conf
Du bör redigera filen så här och ändra värden nedan för att matcha din controller IP eller namn.
#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"
Så här ser min fil ut
Aktivera och starta tjänsten
sudo systemctl enable etcdsudo systemctl start etcd
ytterligare brandväggsinställningar
sudo firewall-cmd --add-port={2379,2380}/tcp --permanentsudo firewall-cmd --reload
Så, vi är mer eller mindre ”färdiga” med initiall del, vi kommer nu att göra minimal distribution för tåg.
Minimal utplacering för tåg
Ok, så vi lyckades hittills. Vi kommer nu att göra minimal serviceutplacering för tåg. Mer information kan hittas här – https://docs.openstack.org/install-guide/openstack-services.html
tjänster måste installeras i angiven ordning, som avbildas nedan
eftersom denna handledning går lite länge redan, jag ska avsluta det här och täcka var och en av Tjänsterna ovan i separat handledning.
viktigt är att göra alla tjänster i exakt ordning som de är nedan.
här är länkarna
- identitetstjänst-keystone-installation för tåg
2. Bild service-blick installation för tåg
3. Placeringstjänst-placeringsinstallation för tåg
4. Compute service-nova installation för tåg
5. Nätverkstjänst-neutroninstallation för tåg
Vi rekommenderar att du även installerar följande komponenter efter att du har installerat minimal deployment services:
6. Dashboard-horizon installation för tåg
7. Block lagringstjänst-aska installation för tåg
8. Object Storage service – swift installation for Train
Additional links for after installation for errors you may encounter:
Disclaimer