It Blog

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

  1. 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

Lämna ett svar

Din e-postadress kommer inte publiceras.