it Blog

Dette vil være en komplet tutorial om installation af OpenStack (minimal config). Jeg vil meget gerne prøve open source cloud OS, og OpenStack er en af de seriøse løsninger, der bruges af mange institutioner og virksomheder. Cern er en blandt brugerne, og Red Hat er stærk tilhænger af OpenStack.

Vær opmærksom: selv efter denne “stryges ud” tutorial, vil du blive mødt med fejl, når du har sat alt op, og du bliver nødt til at undersøge mere for at få din OpenStack til at fungere ok. Jeg vil skrive om nogle af problemerne i nogle få hurtige guider.

OpenStack har også ry for at være kompliceret at installere og vedligeholde og ikke særlig stabil. Jeg læste meget om OpenStack-emnet, gennemgik en masse dokumentation, og dette er resultatet. Dette dækker manuel installation af Togudgivelse, og denne omfattende serie dækker alle komponenter i Minimal OpenStack-installation (lad ikke dette minimale narre dig, der er masser at gøre).

der er et par forskelle mellem OpenStacks officielle dokumentation og selve implementeringen, så denne tutorial skal også hjælpe dig med at spare utallige timer med at lede efter fejl og dechiffrere fejl gennem vejen.

Procedure er kedelig, men jeg vil meget anbefale det, da du i slutningen af det vil have en god forståelse af de grundlæggende principper for OpenStack.

mere om emnet næste gang, lad os komme på arbejde.

der er en indlæringskurve, og ud fra det, jeg læser, tror jeg, at OpenStack i øjeblikket er en stabil løsning til dine skybehov.

men vi vil se undervejs, lad os dykke ind.

forudsætninger

Jeg bruger CentOS 7 til mine installationer (v. 1908). Jeg vil oprette mit laboratorium i Fusion / arbejdsstation. CentOS indledende installation er minimal uden GUI eller nogen tilføjelser.

alle mine VM ‘ er vil have 4cpu-kerner og 8 GB RAM med mindst 120 GB harddisk.Du kan finde minimumskrav her – https://docs.openstack.org/install-guide/overview.html

Vær opmærksom på yderligere krav fra netværks-og drevkomponenter og tilføj i overensstemmelse hermed til dit laboratorium.

mit laboratorium har internetadgang.

Jeg vil følge OpenStack dokumentation undervejs – https://docs.openstack.org/install-guide/common/conventions.html

Jeg vil installere Train build, som er den nuværende. Jeg vil starte med Controller Node 1 og beregne Node 1.

udbydernetværk vil være som følger (du har brug for internetadgang til denne konfiguration):

10.0.0.1/24 – port

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

Jeg vil også senere oprette netværk i området 203.0.113.0 / 24, Der vil være management netværk.

Her er også navne og IP-adresser på maskinerne (du skal også bruge dem i værtsfilen):

10.0.0.11 controller

10.0.0.31 compute1

10.0.0.41 block1

10.0.0.51 object1

10.0.0.52 object2

skift maskinens værtsnavn

for hver maskine i laboratoriet skift værtsnavn. Jeg vil ændre mine værtsnavne til de Navne, jeg angav lige over dette.

kommandoen er nedenfor, controller er navnet på en af maskinerne, skift det til det, du finder passende.

sudo hostnamectl set-hostname controller

Her er hvad ændringen ser efter genstart.

Jeg navngav mine maskiner – controller, compute1, block1, object1, object2.

Konfigurer navneopløsning

Rediger dit netværksgrænseflade placeret i /etc/sysconfig/netværk-scripts

i mit tilfælde har jeg interface ifcfg-ens33

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

jeg redigerede følgende linjer (eksempel på controller-maskine):

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

Sådan ser det ud

genstart maskinen, når du har indstillet IP-konfiguration. Gentag disse trin for alle maskiner i laboratoriet (Indstil selvfølgelig forskellige IP-adresser for hver).

Opdater CentOS installation

før vi går videre, opdaterer vi vores CentOS installationer. På denne måde bekræfter vi også vores internetforbindelse.

sudo yum update -y

Rediger værtsfil

igen skal vi gøre det på hver maskine. Vi vil redigere værter fil, så maskiner kan se hinanden ved navn.

sudo vi /etc/hosts/

Dette er hvad vi skal indtaste

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

Sådan ser min fil ud

Hvis vi gjorde alt ok, skulle vi nu kunne pinge fra controller til computer1 og omvendt ved navnet.

værker.Indtast disse værdier i hver værtsfil på hver maskine, og sørg for at du kan pinge hver maskine og teste fra hver maskine.

opsætning NTP service

præcis tidsmåling er vigtig, så vi indstiller tidsserver og vedhæfter klienter til den. Time server vil være vores controller server og klient alle de andre maskiner.

NTP-serveropsætning

vi gør dette på vores controller-server.

sudo yum install chrony -y

aktiver og start service ved at køre

sudo systemctl start chronydsudo systemctl enable chronyd

Du kan også kontrollere status for service ved at køre

systemctl status chronyd

næste, vi vil redigere /etc/chrony.conf file

sudo vi /etc/chrony.conf

til denne tutorial vil jeg forlade standard centos NTP-servere. Ellers, hvis du vil redigere NTP-servere, kan du ved at tilføje kommandoen nedenfor (Erstat NTP_SERVER med NTP-servernavn)

server NTP_SERVER iburst

Vi skal også aktivere adgang for vores NTP-klienter fra lokalt netværk ved at fjerne og redigere følgende linje

allow 10.0.0.0/24

Her er min konfiguration. Grøn del er, hvor du vil indtaste dine NTP-servere, og rød del er aktiveret adgang fra vores lokale netværk til tidssynkronisering.

genstart server eller chrony service ved at skrive i

sudo systemctl restart chronyd

Vi vil kontrollere, om vores server synkroniserer tid ved at skrive i

chronyc sources

service fungerer for mig.

vi vil også aktivere det via brandvæg

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

NTP-klienter opsætning

disse trin skal udføres på resten af maskinerne.

igen skal vi installere chrony

sudo yum install chrony

aktiver og start NTP service

sudo systemctl start chronydsudo systemctl enable chronyd

derefter skal vi igen redigere /etc/chrony.conf

sudo vi /etc/chrony.conf

du bliver nødt til at slette alle coment ud alle NTP-servere og indtaste følgende

server controller iburst

Forlad alt som det er, og luk fil. Sådan ser min ud.

igen, genstart NTP service

sudo systemctl restart chronyd

og lad os kontrollere, om det virker

chronyc sources

det virker, klient kommunikerer med NTP-server.

og på NTP-server, hvis vi indtaster kommando

chronyc clients

Vi vil se, at compute1 er NTP-klient

gentag trinnet på resten af maskinerne.

OpenStack-pakker

disse trin skal udføres på alle noder. Hvis du ikke har opdateret din CentOS-installation og også deaktiverer EPEL Repo.

!!!///Kun for Red HAT-installationer springer CENTOS over dette

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ølgende kommando (vi installerer Togudgivelse)

sudo yum install centos-release-openstack-train

næste kommando, vi kører, er

sudo yum upgrade

genstart efter det, og vælg ny kerne for at aktivere den.

næste kommando vil være

sudo yum install python-openstackclient

og endelig skal vi integrere vores OpenStack-installation i selinuk

sudo yum install openstack-selinux

database vil blive installeret på controller node.Vi installerer MariaDB.

sudo yum install mariadb mariadb-server python2-PyMySQL

Når installationen er færdig, skal vi redigere en openstack.conf placeret i / etc / min.cnf.d

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

Vi vil oprette myskld sektion med følgende info (sørg bind-adresse er adressen på din controller)

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

Sådan ser det ud i mit tilfælde

aktiver og start MariaDB

sudo systemctl enable mariadb.servicesudo systemctl start mariadb.service

Vi vil også tilføje brandvæg undtagelse

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

endelig vil vi sikre vores installation og indstille adgangskode til root bruger

sudo mysql_secure_installation

meddelelseskø

OpenStack bruger meddelelseskø til koordinere operationer og status mellem tjenester. Det kører normalt på controller, så vi installerer det på controller. Installation

sudo yum install rabbitmq-server

Start og aktiver service

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

Tilføj OpenStack bruger til det. Udskift RABBIT_PASS med din adgangskode.

sudo rabbitmqctl add_user openstack RABBIT_PASS

sæt tilladelser

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

dette er indstillinger for brandvæg for kaninkv

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

valgfri selinkommando

setsebool -P nis_enabled 1

memcached

autentificeringsmekanismen for tjenester bruger memcached til cache-tokens. Den memcached tjeneste kører typisk på controller node, så jeg vil installere det på controller node.

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-tjenester kan bruge etcd, en distribueret pålidelig nøgleværdibutik til distribueret nøglelåsning, lagringskonfiguration, holde styr på service live-ness og andre scenarier.

Etcd skal installeres på controller node.

Installation

sudo yum install etcd

næste vil vi redigere /etc/etcd/etcd.conf

sudo vi /etc/etcd/etcd.conf

Du skal redigere fil som denne og ændre værdierne nedenfor for at matche din controller IP eller navn.

#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ådan ser min fil ud

aktiver og start service

sudo systemctl enable etcdsudo systemctl start etcd

yderligere indstillinger for brandvæg

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

så vi er mere eller mindre “færdige” med initiall del, vi vil nu lave minimal implementering for tog.

Minimal implementering for tog

Ok, så vi var succesfulde hidtil. Vi vil nu gøre minimal service implementering for tog. Flere detaljer kan findes her – https://docs.openstack.org/install-guide/openstack-services.html

tjenester skal installeres i specificeret rækkefølge, som vist nedenfor

siden denne tutorial går lidt lang allerede, jeg har tænkt mig at afslutte det her, og dække hver af de ovennævnte tjenester i separat tutorial.

vigtig ting er at gøre alle tjenester i nøjagtig rækkefølge, som de er nedenfor.

Her er linkene

  1. Identity service – keystone installation til tog

2. Billedservice-glance installation til tog

3. Placering service-placering installation til tog

4. Compute service-nova installation til tog

5. Netværkstjeneste-neutroninstallation til tog

Vi anbefaler også at installere følgende komponenter, når du har installeret de minimale implementeringstjenester:

6. Dashboard-horisontinstallation til tog

7. Blok opbevaring service-brandhærgede installation til tog

8. Object Storage service – swift installation for Train

Additional links for after installation for errors you may encounter:

Disclaimer

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.