
OpenStack je open source platforma cloud computingu, která poskytuje řešení pro infrastrukturu jako službu. OpenStack se skládá z více komponent sestavených dohromady pro poskytování IaaS, komponenty jsou uvedeny níže s jeho použitím.
Součásti:
Komponenta | Jméno | Použít |
---|---|---|
Počítat | (Nova) | Spravuje virtuální stroje |
Ukládání objektů | (Swift) | Spravuje úložiště v cloudu |
Blokovat úložiště | (Cinder) | Spravuje úložiště pro výpočet instance |
Vytváření sítí | (Neutron) | Spravuje sítě a adresy IP |
Hlavní panel | (Horizont) | Poskytněte grafické webové rozhraní pro správu zdrojů |
Služba identity | (Keystone) | Spravuje ověřovací systém v cloudu |
Služba obrázků | (pohled) | Poskytuje obrazy disku a serveru (šablona) |
Telemetrie | (ceilometr) | Fakturační systém |
Orchestrování | (Teplo) | Poskytuje funkci orchestrace |
Návrh infrastruktury:
Co se týče infrastruktury, použijeme síť OpenStack (neutron), zde budou použity celkem tři instance Ubuntu, které budou fungovat jako Controller, Network a Compute Node.
OpenStack níže doporučuje minimální konfigurace pro každý uzel s 64bitovým hostitelským operačním systémem.
• Uzel řadiče:1 procesor, 2 GB paměti a 5 GB úložiště
• Výpočetní uzel:1 procesor, 2 GB paměti a 10 GB úložiště
Následuje konfigurace sítě každého uzlu.
Role | NW karta 1 | NW karta 2 |
---|---|---|
Uzel ovladače HostName =controller.itzgeek.local (řadič) | 192.168.12.21 / 24, GW=192.168.12.2 (síť pro správu) | 192.168.0.21 / 24 GW=192.168.0.1 (Veřejná síť – DHCP povoleno) |
Výpočetní uzel Název hostitele =compute.itzgeek.local (výpočet) | 192.168.12.22 / 24 GW=192.168.12.2 (síť pro správu) | 192.168.0.22 / 24 GW=192.168.0.1 (Veřejná síť – DHCP povoleno) |
* Správa na 192.168.12.0/24 s bránou 192.168.12.1
Tato síť vyžaduje bránu, která poskytuje přístup k internetu všem uzlům pro administrativní účely, jako je instalace balíčků, aktualizace zabezpečení, DNS a NTP.
* Veřejné na 192.168.0.0/24 s bránou 192.168.0.1
Tato síť vyžaduje bránu k poskytování internetového přístupu k instancím ve vašem prostředí OpenStack.
Přidejte položku hostitele, aby uzly mohly ke komunikaci používat název hostitele místo ip adresy. Umístěte jej na všechny uzly.
# nano /etc/hosts# controller192.168.12.21 controller.itzgeek.local controller# compute192.168.12.22 compute.itzgeek.local compute
Jakmile skončíte s konfigurací IP adresy, ověřte připojení pomocí pingu mezi uzly.
Server NTP:
Nainstalujte a nakonfigurujte chrony (NTP) na řídicím uzlu, aby všechny ostatní uzly mohly synchronizovat čas s řídicím uzlem.
# apt-get install ntp# restart služby ntp
Konfigurace NTP klienta
Nainstalujte balíček NTP na výpočetní uzly a všechny uzly, které přidáte v budoucnu.
# apt-get install ntp
Upravte níže uvedený konfigurační soubor.
# nano /etc/ntp.conf
Odstraňte z tohoto souboru další ntp servery nebo jen zakomentujte řádky začínající slovem „server“. Přidejte níže položku, aby se naše uzly synchronizovaly s uzlem ovladače.
řadič serveru
Restartujte službu NTP.
# restart služby ntp
Balíčky OpenStack:
Nainstalujte svazek klíčů a úložiště archivu Ubuntu Cloud.
# apt-get install software-properties-common# add-apt-repository cloud-archive:liberty
Upgradujte svůj systém.
# aktualizace apt-get &&apt-get dist-upgrade
Nainstalujte klienta OpenStack python.
# apt-get install python-openstackclient
Proveďte dva výše uvedené kroky na všech uzlech.
Instalace databáze MySQL:
Komponenty OpenStack používají k ukládání informací databázi MySQL, proto nainstalujte MySQL do Controller Node.
# apt-get install mariadb-server python-pymysql
Instalační program vyvolá příkazový řádek tui k nastavení hesla root MySQL.
Vytvořte a upravte /etc/mysql/conf.d/mysqld_openstack.cnf soubor
# nano /etc/mysql/conf.d/mysqld_openstack.cnf
Přidejte následující hodnoty a zajistěte, aby hodnota bind-address byla nastavena na IP adresu správy uzlu řadiče, aby měl další uzel přístup k instanci MySQL.
[mysqld]## Nastaveno na správu IPbind-address =192.168.12.21default-storage-engine =innodbinnodb_file_per_tablecollation-server =utf8_general_ciinit-connect ='SET NAMES utf8'character-set-server =utf8_general_ciinit-connect ='SET NAMES utf8'character-set-server =uRestartujte MySQL.
# restart služby mysqlInstalace databáze NoSQL (pro službu telemetrie):
Služba Telemetry používá k ukládání informací databázi NoSQL. Databáze obvykle běží na uzlu řadiče. Zde použijeme MongoDB.
Instalace databázového serveru NoSQL je nutná pouze při instalaci služby Telemetrie. Jinak to můžete přeskočit.
Nainstalujte MongoDB a zabalte.
# apt-get install mongodb-server mongodb-clients python-pymongoUpravte soubor /etc/mongodb.conf soubor.
# vi /etc/mongodb.confPřidejte následující hodnoty a ujistěte se, že hodnota bind_ip je nastavena na adresu IP správy uzlu řadiče, aby další uzel mohl přistupovat k instanci MySQL. Také nastavte smallfiles =true .
# IP adresa řídícího rozhraní nodebind_ip =192.168.12.21smallfiles =trueZastavte a spusťte službu MongoDB.
# service mongodb stop# rm -rf /var/lib/mongodb/journal/prealloc.*# service mongodb startInstalovat RabbitMQ:
RabbitMQ používá OpenStack ke koordinaci operací a informací o stavu mezi službami. Nainstalujte jej na uzel řadiče.
# apt-get install rabbitmq-serverPřidat uživatele openstacku.
# rabbitmqctl add_user openstack heslo* Nahraďte heslo svým vlastním heslem.
Povolit uživateli openstacku přístup ke čtení, zápisu a konfiguraci.
# rabbitmqctl set_permissions openstack ".*" ".*" ".*"Další je
konfigurace služby KeyStone (identita OpenStack).
OpenStack Liberty na Ubuntu 14.04 LTS – Konfigurace KeyStone #1 Jak nainstalovat Ubuntu 15.10 Server – Wily WerewolfUbuntu