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
- skift maskinens værtsnavn
- Konfigurer navneopløsning
- Opdater CentOS installation
- Rediger værtsfil
- opsætning NTP service
- OpenStack-pakker
- database vil blive installeret på controller node.Vi installerer MariaDB. sudo yum install mariadb mariadb-server python2-PyMySQL
- meddelelseskø
- memcached
- Etcd
- Minimal implementering for tog
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
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.
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
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
- 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