IT Blog

Dette vil være en full tutorial på å installere OpenStack (minimal config). Jeg vil gjerne prøve open source cloud OS, Og OpenStack er en av de seriøse løsningene som brukes av mange institusjoner og bedrifter. Cern er en blant brukerne, Og Red Hat er sterk tilhenger Av OpenStack.

Vær oppmerksom på: selv etter denne» strykes ut » opplæringen, vil du bli møtt med feil etter at du har satt alt opp, og du må undersøke mer for Å få OpenStack til å fungere ok. Jeg vil skrive om noen av problemene i noen flere raske guider.OpenStack har også rykte for å være komplisert å installere og vedlikeholde og ikke veldig stabil. Jeg leste mye På OpenStack-emnet, gikk gjennom mye dokumentasjon, og dette er resultatet. Dette vil dekke manuell installasjon Av Togutgivelse, og denne omfattende serien vil dekke alle komponenter I Minimal OpenStack-installasjon (ikke la denne minimale lure deg, det er mye å gjøre).

Det er noen forskjeller Mellom OpenStack offisiell dokumentasjon og distribusjon selv, så denne opplæringen skal også hjelpe deg med å spare utallige timer med å lete etter feil og dechiffrere feil gjennom veien.Prosedyren er kjedelig, men jeg vil anbefale det, siden på slutten av det vil du ha en god forståelse Av De grunnleggende prinsippene I OpenStack.

Mer om emnet neste gang, la oss komme på jobb.

det er en læringskurve, og fra det jeg leser tror Jeg At OpenStack for øyeblikket er en stabil løsning for dine skybehov.

Men vi får se underveis, kan dykke inn.

Forutsetninger

Jeg skal bruke CentOS 7 for mine installasjoner (v. 1908). JEG skal lage MIN LAB i VMware Fusion / Workstation. CentOS første installasjonen er minimal UTEN GUI eller tillegg.Alle Mine Vm-Er vil ha 4CPU-kjerner OG 8 GB RAM med minimum 120 GB harddisk.Du kan finne minimumskrav her- https://docs.openstack.org/install-guide/overview.html

Legg merke til tilleggskrav fra nettverks-og stasjonskomponenter og legg til TILSVARENDE I LABORATORIET ditt.

LABORATORIET mitt har internett-tilgang.

Jeg vil følge openstack dokumentasjon underveis – https://docs.openstack.org/install-guide/common/conventions.html

jeg vil installere Train build, som er den nåværende. Jeg vil starte Med Controller Node 1 Og Beregne Node 1.

Leverandørnettverk vil være som følger (du trenger internett – tilgang for denne konfigurasjonen):

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

10.0.0.52 / 24-Objektlagringsnode 2

jeg vil også senere opprette nettverk i rekkevidde 203.0.113.0 / 24, som vil være administrasjonsnettverk.

her er også navnene OG IP-adressene til maskinene (du trenger dem også i vertsfilen):

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

endre maskin vertsnavn

for hver maskin i laboratoriet endre vertsnavn. Jeg vil endre vertsnavnene mine til navnene jeg angav like over dette.

Kommandoen er under, kontrolleren er navnet på en av maskinene, endre den til det du ser hensiktsmessig.

sudo hostnamectl set-hostname controller

her er hva endringen ser etter omstart.

jeg kalte mine maskiner – controller, compute1, block1, object1, object2.

Konfigurer Navneoppløsning

Rediger nettverksgrensesnittet ditt i /etc/sysconfig/nettverksskript

i mitt tilfelle har jeg grensesnitt ifcfg-ens33

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

jeg redigerte følgende linjer (eksempel på kontrollermaskin):

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

slik ser Det Ut

start maskinen på nytt etter at du har angitt ip-konfigurasjon. Gjenta disse trinnene for alle maskiner i laboratoriet (selvfølgelig angi forskjellige IP-adresser for hver).

Oppdater CentOS installasjon

før Vi går videre, vil vi oppdatere Våre CentOS installasjoner. På denne måten vil vi også bekrefte vår internett-tilkobling.

sudo yum update -y

Rediger Vertsfil

Igjen må vi gjøre det på hver maskin. Vi vil redigere hosts-filen, slik at maskiner kan se hverandre ved navn.

sudo vi /etc/hosts/

dette er hva vi trenger for å skrive inn

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

hvis vi gjorde alt ok, bør Vi Nå kunne pinge fra kontroller til compute1 og omvendt med navnet. (Pass på at pingen din er tilgjengelig via brannmur)

fungerer.Skriv inn disse verdiene i hver hosts-fil på hver maskin, og sørg for at du kan pinge hver maskin, og test fra hver maskin.

Oppsett NTP-tjeneste

Presis tidsmåling er viktig, så vi vil sette tidsserver og knytte klienter til den. Tidsserver vil være vår controller server og klient alle de andre maskinene.

NTP server setup

Vi vil gjøre Dette på vår controller server.

sudo yum install chrony -y

Aktiver og start tjenesten ved å kjøre

sudo systemctl start chronydsudo systemctl enable chronyd

du kan også sjekke status på tjenesten ved å kjøre

systemctl status chronyd

neste vil vi redigere/etc / chrony.conf fil

sudo vi /etc/chrony.conf

for denne opplæringen vil jeg forlate standard centos NTP-servere. Ellers hvis du ønsker å redigere NTP-servere, kan du, ved å legge kommandoen nedenfor (Erstatt NTP_SERVER MED NTP server navn)

server NTP_SERVER iburst

Også vi må aktivere tilgang for VÅRE NTP-klienter fra lokalt nettverk ved uncommenting og redigering følgende linje

allow 10.0.0.0/24

Her er min config. Grønn del er hvor du kommer inn I NTP-servere, og rød del er aktivert tilgang fra vårt lokale nettverk for tidssynkronisering.

Start server eller chrony-tjeneste På nytt ved å skrive inn

sudo systemctl restart chronyd

vi vil sjekke om serveren vår synkroniserer tid ved å skrive inn

chronyc sources

tjenesten fungerer for meg.

VI vil også aktivere det gjennom brannmur

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

NTP clients setup

disse trinnene må gjøres på resten av maskinene.

Igjen må vi installere chrony

sudo yum install chrony

Aktiver OG start NTP-tjeneste

sudo systemctl start chronydsudo systemctl enable chronyd

etter det må vi igjen redigere/etc / chrony.conf

sudo vi /etc/chrony.conf

du må slette alle coment ut ALLE NTP-servere og skriv følgende

server controller iburst

La alt som er, og lukk filen. Slik ser min ut.

IGJEN, start NTP-tjenesten PÅ NYTT

sudo systemctl restart chronyd

og la oss sjekke om DET fungerer

chronyc sources

det fungerer, klienten kommuniserer med ntp-server.

OG PÅ NTP server hvis vi skriver inn kommandoen

chronyc clients

vi vil se at compute1 ER NTP klient

gjenta trinnet på resten av maskinene.

OpenStack-Pakker

disse trinnene må gjøres på alle noder. Hvis Du ikke har oppdatert CentOS installasjon, og også deaktivere EPEL Repo.

!!!///Bare FOR RED HAT INSTALLASJONER, CENTOS HOPPE OVER dette

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

neste kommando vi vil kjøre er

sudo yum upgrade

start på nytt etter det, og velg ny kjerne for å aktivere den.

neste kommando vil være

sudo yum install python-openstackclient

Og til slutt må vi integrere Vår OpenStack installere I SELinux

sudo yum install openstack-selinux

SQL Database

Databasen vil bli installert på kontrolleren node.Vi vil installere MariaDB.

sudo yum install mariadb mariadb-server python2-PyMySQL

etter at installasjonen er ferdig, må vi redigere en openstack.conf ligger i / etc / min.cnf.D

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

vi vil opprette mysqld seksjon med følgende info (pass på at bind-adresse er adressen til kontrolleren)

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

her er hvordan det ser ut i mitt tilfelle

aktiver og start mariadb

sudo systemctl enable mariadb.servicesudo systemctl start mariadb.service

vi Vil Også Legge til brannmur unntak

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

endelig vil vi sikre vår installasjon og sette passord for root sql bruker

sudo mysql_secure_installation

meldingskø

openstack bruker meldingskø til koordinere operasjoner og status mellom tjenester. Det kjører vanligvis på kontrolleren, så vi installerer den på kontrolleren. Vi vil installere RabbitMQ

Installasjon

sudo yum install rabbitmq-server

Start og aktiver tjenesten

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

Legg openstack bruker til det. Erstatt RABBIT_PASS med passordet ditt.

sudo rabbitmqctl add_user openstack RABBIT_PASS

Angi tillatelser

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

dette er brannmurinnstillinger for 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

valgfri selinux-kommando

setsebool -P nis_enabled 1

memcached

autentiseringsmekanismen for identitetstjeneste for tjenester bruker memcached til å cache tokens. Memcached-tjenesten kjører vanligvis på controller node, så jeg vil installere den 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 bruke Etcd, en distribuert pålitelig nøkkelverdilager for distribuert nøkkellåsing, lagring av konfigurasjon, holde oversikt over tjenesten live-ness og andre scenarier.

Etcd skal installeres på kontrolleren node.

Installasjon

sudo yum install etcd

neste vil vi redigere / etc / etcd / etcd.conf

sudo vi /etc/etcd/etcd.conf

du bør redigere fil som dette og endre verdiene nedenfor for å matche kontrolleren 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"

dette er hvordan filen min ser ut

Aktiver og start service

sudo systemctl enable etcdsudo systemctl start etcd

ekstra brannmurinnstillinger

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

så, vi er mer eller mindre «ferdig» med initiall del, vil vi nå gjøre minimal distribusjon for tog.

Minimal Distribusjon For Tog

Ok, så vi var vellykkede så langt. Vi vil nå gjøre minimal tjenesteutplassering for Tog. Flere detaljer finner du her – https://docs.openstack.org/install-guide/openstack-services.html

Tjenester må installeres i angitt rekkefølge, som vist nedenfor

siden denne opplæringen går litt lenge allerede, jeg skal fullføre den her, og dekke hver av tjenestene ovenfor i egen opplæring.

Viktig er å gjøre alle tjenestene i nøyaktig rekkefølge som de er under.

Her er linkene

  1. Identity service – keystone installasjon for Tog

2. Image service-blikk installasjon For Tog

3. Plasseringstjeneste-plasseringsinstallasjon for Tog

4. Compute service-nova installasjon for Tog

5. Nettverkstjeneste-nøytroninstallasjon for Tog

vi anbefaler at du også installerer følgende komponenter etter at du har installert minimal distribusjonstjenester:

6. Dashbord-horizon installasjon for Tog

7. Blokk Lagringstjeneste-slagg installasjon For Tog

8. Object Storage service – swift installation for Train

Additional links for after installation for errors you may encounter:

Disclaimer

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.