By Ghulam Qadir, Alibaba Cloud Tech Share Author. Tech Share on Alibaba Cloudin kannustinohjelma, jolla kannustetaan teknisen tietämyksen ja parhaiden käytäntöjen jakamiseen pilviyhteisössä.

OpenStack on ilmainen ja avoimen lähdekoodin ohjelmistoalusta, joka tarjoaa IaaS:ää (infrastructure-as-a-service) julkisille ja yksityisille pilville.

OpenStack-alusta koostuu useista toisiinsa liittyvistä projekteista, jotka ohjaavat konesalin laitteisto-, tallennus- ja verkkoresursseja, kuten: Compute, Image Service, Block Storage, Identity Service, Networking, Object Storage, Telemetry, Orchestration ja Database.

Vaikka OpenStackin ydintehtävä on tarjota IaaS-alusta, sitä käytetään myös DBaaS:nä (database-as-a-service), Hadoop-klustereiden rakentamiseen, Container-orkestrointiin ja paljon muuta. Näiden komponenttien hallintaa voidaan hallita web-pohjaisen käyttöliittymän kautta tai OpenStackin komentorivin avulla.

Tässä opetusohjelmassa näytetään, miten voit ottaa käyttöön oman yksityisen pilvipalveluinfrastruktuurin, jossa OpenStack on asennettu yhteen solmuun käyttämällä rdo-repositorioita, vaikka käyttöönotto voidaan toteuttaa useammassa solmussa. Otamme palvelun käyttöön Alibaba Cloud Elastic Compute Service (ECS) -instansseissa CentOS 7:llä.

  1. Hostname = openstack.example.com
  2. IP-osoite = 192.168.1.40
  3. netmask = 255.255.255.0
  4. Gateway = 192.168.1.1
  5. DNS = 192.168.1.254

Edellytykset

  1. Sinulla on oltava Alibaba Cloud Elastic Compute Service (ECS) aktivoituna ja vahvistettuna voimassa oleva maksutapa. Jos olet uusi käyttäjä, voit saada ilmaisen tilin Alibaba Cloud -tililläsi. Jos et tiedä, miten ECS-instanssisi asetetaan, voit tutustua tähän opetusohjelmaan tai pikaoppaaseen.
  2. Sinun on määritettävä palvelimesi isäntänimi.
  3. Käyttäydy VNC-konsolissa Alibaba Cloud -palvelimessasi tai asenna SSH-asiakasohjelma tietokoneeseesi.

Kirjaudu sisään pääkäyttäjänä root-käyttäjätunnuksellasi & salasanalla SSH-asiakkaan (esim. Putty) tai Alibaba Cloud -tilisi kojelaudassa olevan VNC-konsolin kautta.

Varmista, että järjestelmässäsi on vähintään 16 Gt RAM-muistia ja VT-tuella varustettu prosessori. Tarkista VT-tuki alla olevalla komennolla.

 egrep --color 'vmx|svm' /proc/cpuinfo | wc –l

Output: (ei saisi olla nolla)

 2

Järjestelmän alkukonfiguraatiot

  1. Ennen kuin aloitat solmun valmistelun oman virtuaalipilvi-infrastruktuurin käyttöönottoa varten, kirjaudu ensin sisään root-tunnuksella ja varmista, että järjestelmä on ajan tasalla.

    Varmista, että koneellasi on CentOS 7:n uusin versio.

     yum -y update
  2. Varmista, että koneellasi on CentOS 7:n uusin versio.
     yum -y update
  3. Seuraavaksi listaa kaikki käynnissä olevat palvelut komennolla ss -tulpn.
     Ss -tulpn

1

Tunnista nyt tarpeettomat palvelut, pysäytä, poista pois käytöstä ja poista ne. Lähinnä Postfix, NetworkManager ja Firewalld. Tämän jälkeen ainoa palvelu, joka olisi käynnissä linux-koneellasi, olisi vain sshd.

 # systemctl stop postfix firewalld NetworkManager # systemctl disable postfix firewalld NetworkManager # systemctl mask NetworkManager # yum remove postfix NetworkManager NetworkManager-libnm

Poista Selinux-käytäntö pysyvästi käytöstä linux-koneellasi suorittamalla seuraavat komennot. Muokkaa myös /etc/selinux/config-tiedostoa ja muuta SELINUX pakottavasta käytöstä käytöstä poistetuksi, kuten alla olevassa kuvassa näkyy.

 # setenforce 0 # getenforce # vi /etc/selinux/config

2

Seuraavassa vaiheessa aseta Linux-järjestelmän isäntänimi hostnamectl-komennolla. Korvaa FQDN-muuttuja vastaavasti.

 # hostnamectl set-hostname cloud.centos.lan

3

Viimeiseksi asenna ntpdate, jotta voit synkronoida ajan NTP-palvelimen kanssa.

 # yum install ntpdate

Asenna OpenStack CentOS:iin ja RHEL:iin

OpenStack otetaan käyttöön solmupisteessäsi PackStack-paketin avulla, jonka tarjoaa rdo-repository (OpenStackin RPM-jakelu).

Voidaksesi ottaa rdo-repositoriot käyttöön RHEL 7:ssä suorita alla oleva komento.

 # yum install https://www.rdoproject.org/repos/rdo-release.rpm

CentOS 7:ssä Extras-repositoriossa on RPM, joka aktivoi OpenStack-repositoriota. Extras on jo käytössä, joten voit helposti asentaa RPM:n OpenStack-tietovaraston käyttöönottoa varten:

 # yum install -y centos-release-openstack-mitaka # yum update –y

Asennetaan Packstat-paketti linux-koneeseen seuraavalla komennolla:

 # yum install openstack-packstack

Seuraavassa vaiheessa luodaan Packstackin vastaustiedosto oletuskonfiguraatioilla, jota muokataan myöhemmin tarvittavilla parametreilla Openstackin erillisasennuksen (yhden solmun) käyttöönottoa varten.

Tiedosto nimetään senhetkisen päivän aikaleiman mukaan, kun se luodaan (päivä, kuukausi ja vuosi).

 # packstack --gen-answer-file='date +"%d.%m.%y"'.conf # ls

4

Muokkaa nyt vastaustiedostoa suosikkitekstieditorillasi.

 vi 26.07.18.conf

Ja korvaa seuraavat parametrit alla olevien arvojen mukaisiksi. Varmuuden vuoksi korvaa salasanakentät vastaavasti.

 CONFIG_NTP_SERVERS=0.ro.pool.ntp.org

5

 CONFIG_PROVISION_DEMO=n

6

 CONFIG_KEYSTONE_ADMIN_PW=your_password for Admin user

7

Käyttäydy OpenStack-kojelautaan HTTP:n kautta, kun SSL on käytössä.

 CONFIG_HORIZON_SSL=y

8

MySQL-palvelimen pääsalasana.

 CONFIG_MARIADB_PW=mypassword1234

9

Kun olet lopettanut muokkauksen, tallenna ja sulje tiedosto. Avaa myös SSH-palvelimen konfigurointitiedosto ja poista kommentti PermitRootLogin-riviltä poistamalla etummainen hashtag, kuten alla olevassa kuvakaappauksessa näkyy.

 # vi /etc/ssh/sshd_config

10

Sitten käynnistä SSH-palvelu uudelleen, jotta muutokset näkyvät.

 # systemctl restart sshd 

Aloita Openstack-asennus Packstackin vastaustiedoston avulla

Aloita lopuksi Openstack-asennusprosessi edellä muokatun vastaustiedoston kautta suorittamalla alla oleva komentosyntaksi:

 # packstack --answer-file 13.04.16.conf

11

Kun OpenStack-komponenttien asennus on saatu onnistuneesti päätökseen, asennusohjelma näyttää muutaman rivin OpenStackin ja Nagiosin paikallisen kojelaudan linkit ja tarvittavat, jo edellä määritetyt tunnistetiedot molempiin paneeleihin kirjautumista varten.

12

Tunnukset tallennetaan myös kotihakemistosi alle tiedostoon keystonerc_admin.

Jos jostain syystä asennusprosessi päättyy httpd-palvelua koskevaan virheilmoitukseen, avaa /etc/httpd/conf.d/ssl.conf-tiedoston ja varmista, että kommentoit seuraavan rivin alla olevan kuvan mukaisesti.

 #Listen 443 https

13

Käynnistä sitten Apache daemon uudelleen muutosten soveltamiseksi.

 # systemctl restart httpd.service

Huomautus: Jos et vieläkään pysty selaamaan Openstack-verkkopaneelia portissa 443, käynnistä asennusprosessi alusta samalla komennolla, joka annettiin ensimmäistä käyttöönottoa varten.

 # packstack --answer-file /root/26.07.18.conf

OpenStack Dashboardin etäkäyttö

Käyttääksesi OpenStack-verkkopaneelia lähiverkon etäkäyttöasemalta navigoi HTTPS-protokollan kautta koneesi IP-osoitteeseen tai FQDN:ään/verkkopaneeliin.

Johtuen siitä, että käytät epäluotettavan varmenteiden myöntäjän myöntämää itse allekirjoitettua varmenteen, selaimessasi pitäisi näkyä virheilmoitus.

Hyväksy virhe ja kirjaudu kojelautaan käyttäjällä admin ja salasanalla, joka on asetettu CONFIG_KEYSTONE_ADMIN_PW-parametrille edellä asetetusta vastaustiedostosta.

 https://192.168.1.40/dashboard

14

15

Vaihtoehtoisesti, jos päätit asentaa Nagios-komponentin OpenStackiin, voit selata Nagios-verkkopaneelia seuraavalla URI:llä ja kirjautua sisään vastaustiedostossa asetetuilla tunnuksilla.

 https://192.168.1.40/nagios

16

17

Konfiguraatio

OpenStack on kokoelma avoimen lähdekoodin projektikomponentteja, jotka mahdollistavat pilvipalveluiden perustamisen. Jokainen komponentti käyttää samankaltaisia konfigurointitekniikoita ja yhteistä kehystä INI-tiedostojen asetuksille.

Tämä opas kokoaa yhteen useita viitteitä ja konfigurointivaihtoehtoja seuraavista OpenStack-komponenteista:

  1. Bare Metal -palvelu
  2. Block Storage -palvelu
  3. Compute -palvelu
  4. Dashboard
  5. Database -palvelu
  6. Data Processing -palvelu
  7. Identity -palvelu
  8. Image -palvelu
  9. Viestipalvelu. service
  10. Networking service
  11. Object Storage service
  12. Orchestration service
  13. Shared File Systems service
  14. Telemetry service

OpenStack käyttää konfigurointitiedostojen määrittelyssä INI-tiedostomuotoa. INI-tiedosto on yksinkertainen tekstitiedosto, jossa määritetään asetukset avain=arvopareina, jotka on ryhmitelty osioihin. DEFAULT-osio sisältää suurimman osan konfiguraatioasetuksista. Rivit, jotka alkavat hash-merkillä (#), ovat kommenttirivejä. Esimerkiksi:

 # Print debugging output (set logging level to DEBUG instead # of default WARNING level). (boolean value) debug = true # The SQLAlchemy connection string used to connect to the # database (string value) connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone

Vaihtoehdoilla voi olla erityyppisiä arvoja. Esimerkkikonfiguraatiotiedostojen kommenteissa mainitaan aina nämä, ja taulukoissa Opt-arvo mainitaan ensimmäisenä kuten (BoolOpt) Toggle….. OpenStack käyttää seuraavia tyyppejä:

boolean value (BoolOpt)

Enables or disables an option. Sallitut arvot ovat true ja false.

 # Enable the experimental use of database reconnect on # connection lost (boolean value) use_db_reconnect = false

liukulukuarvo (FloatOpt)

Luku liukuluvulla, kuten 0,25 tai 1000.

 # Sleep time in seconds for polling an ongoing async task # (floating point value) task_poll_interval = 0.5

yhdyslukuarvo (IntOpt)

Yhdysluku on luku, jolla ei ole murtolukukomponentteja, kuten 0 tai 42.

 # The port which the OpenStack Compute service listens on. # (integer value) compute_port = 8774

IP-osoite (IPOpt)

Ipv4- tai IPv6-osoite.

 # Address to bind the server. Useful when selecting a particular network # interface. (ip address value) bind_host = 0.0.0.0

avain-arvoparit (DictOpt)

avain-arvopari, joka tunnetaan myös nimellä diktoni. Avainarvoparit erotetaan toisistaan pilkulla ja kaksoispisteellä erotetaan avain ja arvo toisistaan. Esimerkki: avain1:arvo1,avain2:arvo2.

 # Parameter for l2_l3 workflow setup. (dict value) l2_l3_setup_params = data_ip_address:192.168.200.99, \ data_ip_mask:255.255.255.0,data_port:1,gateway:192.168.200.1,ha_port:2

Luetteloarvo (ListOpt)

Kuvastaa muun tyyppisiä arvoja, jotka on erotettu pilkulla. Seuraavassa asetetaan esimerkiksi allowed_rpc_exception_modules -luetteloksi, joka sisältää neljä elementtiä oslo.messaging.exceptions, nova.exception, cinder.exception ja exceptions:

 # Modules of exceptions that are permitted to be recreated # upon receiving exception data from an rpc call. (list value) allowed_rpc_exception_modules = oslo.messaging.exceptions,nova.exception

moniarvoinen (MultiStrOpt)

Moniarvoinen vaihtoehto on merkkijonoarvo ja se voidaan antaa useammin kuin kerran, kaikkia arvoja käytetään.

 # Driver or drivers to handle sending notifications. (multi valued) notification_driver = nova.openstack.common.notifier.rpc_notifier notification_driver = ceilometer.compute.nova_notifier

portin arvo (PortOpt)

TCP/IP-portin numero. Portit voivat olla välillä 1-65535.

 # Port to which the UDP socket is bound. (port value) # Minimum value: 1 # Maximum value: 65535 udp_port = 4952

merkkijonon arvo (StrOpt)

merkkijonot voidaan sulkea valinnaisesti yksinkertaisten tai kaksinkertaisten lainausmerkkien sisään.

 # Enables or disables publication of error events. (boolean value) publish_errors = false # The format for an instance that is passed with the log message. # (string value) instance_format = " "

Jaksot

Konfigurointivaihtoehdot ryhmitellään jaksoittain. Useimmat konfiguraatiotiedostot tukevat ainakin seuraavia osioita:

Sisältää useimmat konfiguraatioasetukset. Jos konfigurointivaihtoehdon dokumentaatiossa ei määritetä sen osiota, oletetaan sen esiintyvän tässä osiossa.

Konfigurointivaihtoehdot tietokannalle, joka tallentaa OpenStack-palvelun tilan.

Substitution

Konfigurointitiedosto tukee muuttujien korvaamista. Kun olet asettanut konfiguraatiovaihtoehdon, siihen voidaan viitata myöhemmissä konfiguraatioarvoissa, kun sitä edeltää $, kuten $OPTION.

Seuraavassa esimerkissä rabbit_host- ja rabbit_port-arvojen avulla määritetään rabbit_hosts-vaihtoehdon arvo, tässä tapauksessa kontrollerina:5672.

 # The RabbitMQ broker address where a single node is used. # (string value) rabbit_host = controller # The RabbitMQ broker port where a single node is used. # (integer value) rabbit_port = 5672 # RabbitMQ HA cluster host:port pairs. (list value) rabbit_hosts = $rabbit_host:$rabbit_port

Välttääksesi substituutiota käytä

$$ korvataan yksittäisellä $:llä. Jos esimerkiksi LDAP DNS-salasanasi on $xkj432, määritä se seuraavasti:

 ldap_dns_password = $$xkj432

Koodi käyttää Python-merkkijonoa. Template.safe_substitute()-metodia muuttujan korvaamisen toteuttamiseen. Lisätietoja siitä, miten muuttujien korvaaminen ratkaistaan.

Whitespace

Käytä lainausmerkkien muodostamaa merkkijonoa, jos haluat sisällyttää määritysarvoon valkoista tilaa. Esimerkiksi:

 ldap_dns_passsword='a password with spaces'

Vaihtoehtoisen sijainnin määrittäminen konfigurointitiedostolle

Useimmat palvelut ja -manage-komentoriviasiakkaat lataavat konfigurointitiedoston. Jos haluat määrittää vaihtoehtoisen sijainnin konfiguraatiotiedostolle, välitä –config-file CONFIG_FILE -parametri, kun käynnistät palvelun tai kutsut -manage-komentoa.

Johtopäätökset

Esittelimme OpenStackin asennusta Red Hat-, CentOS- ja Fedora Linux -käyttöjärjestelmiin. Nyt voit perustaa oman yksityisen pilviympäristösi Alibaba Cloud Elastic Compute Service (ECS) -palveluun helposti OpenStackin avulla.

Articles

Vastaa

Sähköpostiosoitettasi ei julkaista.