IT Blog

Dit zal een volledige tutorial zijn over het installeren van OpenStack (minimale configuratie). Ik zou heel graag open-source cloud OS proberen, en OpenStack is een van de serieuze oplossingen, gebruikt door veel instellingen en bedrijven. Cern is een van de gebruikers, en Red Hat is sterk voorstander van OpenStack.

Let op: zelfs na deze “gladgestreken” tutorial, zult u worden begroet met fouten nadat u alles hebt ingesteld, en u zult meer onderzoek moeten doen om uw OpenStack goed te laten werken. Ik zal schrijven over een aantal van de problemen in een paar meer snelle gidsen.

OpenStack heeft ook de reputatie ingewikkeld te installeren en te onderhouden te zijn en niet erg stabiel. Ik heb veel gelezen over het OpenStack onderwerp, heb veel documentatie doorlopen en dit is het resultaat. Dit zal betrekking hebben op de handmatige installatie van de trein release, en deze uitgebreide serie zal betrekking hebben op elk onderdeel van minimale OpenStack installeren (laat deze minimale gek je, er is genoeg te doen).

Er zijn een paar verschillen tussen OpenStack officiële documentatie en deployment zelf, dus deze tutorial moet je ook helpen om talloze uren te besparen op het zoeken naar fouten en het ontcijferen van fouten door de weg.

Procedure is vervelend, maar ik zou het ten zeerste aanbevelen, omdat u aan het einde ervan een goed begrip zult hebben van de basisprincipes van OpenStack.

meer over het onderwerp volgende keer, laten we aan de slag gaan.

er is een leercurve, en uit wat ik lees geloof ik dat OpenStack op dit moment een stabiele oplossing is voor uw cloud behoeften.

maar, we zullen zien langs de weg, laten we duiken in.

Prerequisites

Ik zal CentOS 7 gebruiken voor mijn installaties (V. 1908). Ik zal het creëren van mijn LAB in VMware Fusion/Workstation. CentOS initiële installatie is minimaal zonder GUI of enige toevoegingen.

al mijn VM ‘ s hebben 4cpu cores en 8 GB RAM met minimaal 120GB harde schijf.U kunt hier minimale vereisten vinden – https://docs.openstack.org/install-guide/overview.html

let op over aanvullende vereisten van netwerk-en drive-componenten en voeg dienovereenkomstig toe aan uw LAB.

mijn LAB heeft internettoegang.

Ik zal onderweg OpenStack documentatie volgen – https://docs.openstack.org/install-guide/common/conventions.html

Ik zal Train build installeren, de huidige. Ik zal beginnen met Controller Node 1 en berekenen Node 1.

Provider netwerk zal als volgt zijn (u hebt internettoegang nodig voor deze configuratie):

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-Object Storage Node 1

10.0.0.52 / 24-Object Storage Node 2

Ik zal later ook een netwerk aanmaken in het bereik 203.0.113.0 / 24, dat zal beheernetwerk zijn.

Hier zijn ook de namen en IP-adressen van de machines (u hebt ze ook nodig in het hosts-bestand):

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

Wijzig Machine hostnaam

voor elke machine in het lab hostnaam wijzigen. Ik zal mijn hostnamen veranderen in de namen die ik net hierboven heb opgegeven.

Commando is hieronder, controller is de naam van een van de machines, verander het naar wat je nodig vindt.

sudo hostnamectl set-hostname controller

Hier ziet u hoe de verandering eruit ziet na het opnieuw opstarten.

I named my machines – controller, compute1, block1, object1, object2.

het Configureren van Naam Resolutie

het Bewerken van uw netwerk interface gelegen in het /etc/sysconfig/network-scripts

In mijn geval, ik heb interface ifcfg-ens33

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

ik bewerkt volgende regels (controller machine voorbeeld):

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

Hier is hoe het eruit ziet

Herstart de machine nadat u de ip-configuratie. Herhaal deze stappen voor alle machines in het lab (stel natuurlijk voor elk een ander IP-adres in).

Update CentOS installatie

voordat we verder gaan, zullen we onze CentOS installaties updaten. Op deze manier bevestigen we ook onze internetverbinding.

sudo yum update -y

Edit Hosts file

opnieuw moeten we dat op elke machine doen. We zullen hosts-bestand bewerken, zodat machines elkaar bij de naam kunnen zien.

sudo vi /etc/hosts/

Dit is wat we moeten invoeren

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

Hier is hoe mijn bestand eruit ziet

als we alles goed hebben gedaan, zouden we nu in staat moeten zijn om van controller naar Computer1 te pingen en vice versa met de naam. (Zorg ervoor dat uw ping beschikbaar is via firewall)

werkt.Voer deze waarden in in elk hosts-bestand op elke machine en zorg ervoor dat je elke machine kunt pingen en testen vanaf elke machine.

Setup NTP service

nauwkeurige tijdmeting is belangrijk, dus we zullen tijdserver instellen en clients eraan koppelen. Time server zal onze controller server en client alle andere machines.

NTP server setup

We zullen dit doen op onze controller server.

sudo yum install chrony -y

dienst inschakelen en starten door

sudo systemctl start chronydsudo systemctl enable chronyd

u kunt ook de status van de dienst controleren door

systemctl status chronyd

te draaien.conf file

sudo vi /etc/chrony.conf

voor deze tutorial verlaat ik de standaard CentOS NTP servers. Als u anders NTP-servers wilt bewerken, kunt u, door onderstaande opdracht toe te voegen (vervang NTP_SERVER door NTP-servernaam)

server NTP_SERVER iburst

ook moeten we toegang voor onze NTP-clients vanuit het lokale netwerk mogelijk maken door commentaar te verwijderen en de volgende regel te bewerken

allow 10.0.0.0/24

Hier is mijn configuratie. Het groene deel is waar u uw NTP-servers invoert, en het rode deel is ingeschakeld toegang vanuit ons lokale netwerk voor tijdssynchronisatie.

Server of chrony-service herstarten door

sudo systemctl restart chronyd

We zullen controleren of onze server synchronisatietijd heeft door

service werkt voor mij.

We zullen het ook inschakelen via firewall

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

NTP clients setup

deze stappen moeten op de rest van de machines worden uitgevoerd.

opnieuw moeten we chrony

sudo yum install chrony

inschakelen en NTP-service starten

sudo systemctl start chronydsudo systemctl enable chronyd

daarna moeten we opnieuw /etc/chrony bewerken.conf

sudo vi /etc/chrony.conf

u moet alle coment verwijderen uit alle NTP-servers en het volgende invoeren

server controller iburst

laat alles zoals het is, en sluit het bestand. Zo ziet de mijne eruit.

Nogmaals, opnieuw NTP-service

sudo systemctl restart chronyd

En laat controleren of het werkt

chronyc sources

Het werkt, client communiceert met de NTP-server.

en, op NTP-server als we Commando

chronyc clients

invoeren, zullen we zien dat compute1 NTP-client

herhaal de stap op de de rest van de machines.

OpenStack pakketten

deze stappen moeten op alle knooppunten worden uitgevoerd. Als u uw CentOS-installatie niet hebt bijgewerkt, en ook EPEL Repo uitschakelen.

!!!//ALLEEN RED HAT INSTALLEERT, CENTOS OVERSLAAN

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

Voer de volgende opdracht uit (we zijn het installeren van het Trein-release)

sudo yum install centos-release-openstack-train

Volgende opdracht zullen wij, is

sudo yum upgrade

Herstart na, en selecteer de nieuwe kernel te activeren.

het volgende commando zal

sudo yum install python-openstackclient

zijn en eindelijk moeten we onze OpenStack installatie integreren in SELinux

sudo yum install openstack-selinux

SQL Database

Database zal geïnstalleerd worden op controller node.We zullen MariaDB installeren.

sudo yum install mariadb mariadb-server python2-PyMySQL

nadat de installatie is voltooid, moeten we een openstack bewerken.conf bevindt zich in /etc/my.cnf.d

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

We maken mysqld sectie met de volgende info (zorg ervoor dat bind-adres is het adres van de controller)

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

Hier is hoe het eruit ziet in mijn geval

Inschakelen en beginnen met MariaDB

sudo systemctl enable mariadb.servicesudo systemctl start mariadb.service

We zullen ook nog firewall-uitzondering

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

tot slot zullen we veilig onze installatie en instellen van het wachtwoord voor het root sql user

sudo mysql_secure_installation

Message Queue

OpenStack gebruikt berichtenwachtrij coördineer operaties en status tussen diensten. Het draait meestal op controller, dus we zullen het installeren op controller. We zullen RabbitMQ

installatie

sudo yum install rabbitmq-server

start en activeer service

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

voeg openstack gebruiker toe. Vervang RABBIT_PASS met uw wachtwoord.

sudo rabbitmqctl add_user openstack RABBIT_PASS

machtigingen Instellen

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

Dit zijn de instellingen van de firewall voor 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

Optioneel SELinux commando

setsebool -P nis_enabled 1

Memcached

De Identiteit service authenticatie mechanisme voor diensten maakt gebruik van Memcached cache-tokens. De memcached service draait meestal op de controller node, dus Ik zal het installeren op 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 services kunnen gebruik maken van Etcd, een gedistribueerde betrouwbare sleutelwaardeopslag voor gedistribueerde sleutelvergrendeling, opslagconfiguratie, het bijhouden van Service live-ness en andere scenario ‘ s.

Etcd moet geïnstalleerd worden op controller node.

installatie

sudo yum install etcd

hierna zullen we /etc/etcd/etcd bewerken.conf

sudo vi /etc/etcd/etcd.conf

u dient het bestand als volgt te bewerken en de waarden hieronder aan te passen aan uw controller IP of naam.

#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"

Dit is hoe mijn bestand eruit ziet

dienst inschakelen en starten

sudo systemctl enable etcdsudo systemctl start etcd

extra firewall instellingen

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

dus, we zijn min of meer “klaar” met het eerste deel, we zullen nu minimale implementatie voor Train doen.

minimale inzet voor trein

Ok, dus we waren tot nu toe succesvol. We zullen nu doen minimale service inzet voor trein. Meer details zijn hier te vinden – https://docs.openstack.org/install-guide/openstack-services.html

diensten moeten in een bepaalde volgorde worden geïnstalleerd, zoals hieronder weergegeven

aangezien deze tutorial al een beetje lang duurt, ga ik om het hier af te maken en elk van de bovenstaande diensten in een aparte tutorial te behandelen.

belangrijk is om alle services in de exacte volgorde te doen zoals hieronder.

Hier zijn de links

  1. Identity service-keystone installatie voor trein

2. Image service-glance installatie voor trein

3. Plaatsingsdienst-plaatsingsinstallatie voor trein

4. Compute service-nova-installatie voor trein

5. Netwerkservice-neutron installatie voor trein

We adviseren om ook de volgende componenten te installeren nadat u de minimal deployment services hebt geïnstalleerd:

6. Dashboard-horizon installatie voor trein

7. Blokopslagdienst – cinderinstallatie voor trein

8. Object Storage service – swift installation for Train

Additional links for after installation for errors you may encounter:

Disclaimer

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.