Openstack je bezplatný a otevřený software privátního cloudu, jehož prostřednictvím můžeme snadno spravovat výpočetní, síťové a úložné zdroje našeho datového centra pomocí jediného řídicího panelu a příkazů openstack cli. V tomto článku si ukážeme, jak nainstalovat Openstack na systém CentOS 8 s packstack . Packstack je nástroj příkazového řádku, který nasazuje různé součásti openstacku pomocí loutkových modulů.
Nasazení Openstacku s packstackem se obecně používá pro účely POC (proof of concept), proto se nedoporučuje používat packstack pro produkční nasazení. Použijte metodu TripleO k nasazení openstacku v produkčním prostředí.
Minimální systémové požadavky pro OpenStack
- Minimální CentOS 8
- Dvoujádrový procesor
- 8 GB RAM
- 40 GB volného místa na disku
- Stabilní připojení k internetu
- Alespoň jednu přezdívku
Podrobnosti nastavení Moje laboratoř:
- Název hostitele – openstack.example.com
- IP – 192.168.1.8
- Plochá síť – 192.168.1.0/24
Pojďme se hlouběji ponořit do kroků instalace openstacku,
Krok 1) Nastavte název hostitele a aktualizujte soubor /etc/hosts
Otevřete terminál a nastavte název hostitele pomocí následujícího příkazu hostnamectl,
[[email protected] ~]# hostnamectl set-hostname "openstack.example.com" [[email protected] ~]# exec bash
Spusťte níže příkaz echo pro připojení položky názvu hostitele do souboru /etc/hosts.
[[email protected] ~]# echo -e "192.168.1.8\topenstack.example.com" >> /etc/hosts
Krok 2) Vypněte Správce sítě a nakonfigurujte síť pomocí síťových skriptů
Správce sítě je výchozí nástroj v CentOS 8 pro správu sítí, ale pro Openstack jej musíme deaktivovat, protože síť openstack nebude správně fungovat se správcem sítě. Místo správce sítě musíme nainstalovat nativní síťové skripty.
Chcete-li zakázat správce sítě, spusťte následující příkazy,
[[email protected] ~]# systemctl disable NetworkManager [[email protected] ~]# systemctl stop NetworkManager
Spuštěním následujícího příkazu dnf nainstalujte nativní síťové skripty
[[email protected] ~]# dnf install network-scripts -y
Jakmile je balíček network-scripts nainstalován, můžeme spravovat sítě (soubory ifcfg-*) pomocí nativního network.service
Nyní nakonfigurujeme IP adresu v souboru ifcfg-enp0s3 a spustíme síťovou službu
[email protected] ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
Uložte a ukončete soubor a poté spusťte síťovou službu pomocí následujícího příkazu
[[email protected] ~]# systemctl start network [[email protected] ~]# systemctl enable network
Nyní ověřte, zda je IP přiřazena k NIC (enp0s3) pomocí příkazu ip,
[[email protected] ~]# ip a s enp0s3
Krok 3) Povolte úložiště OpenStack a nainstalujte nástroj Packstack
V době psaní tohoto článku byl ussuri openstack dostupný, takže spusťte následující příkaz pro konfiguraci jeho repozitářů
[[email protected] ~]# dnf config-manager --set-enabled powertools or [[email protected] ~]# dnf config-manager --enable PowerTools [[email protected] ~]# dnf install -y centos-release-openstack-ussuri
Nyní nainstalujte všechny dostupné aktualizace a restartujte systém,
[[email protected] ~]# dnf update -y [[email protected] ~]# reboot
Jakmile bude systém po restartu dostupný, spusťte následující příkaz dnf a nainstalujte obslužný program packstack
[[email protected] ~]# dnf install -y openstack-packstack
Krok 4) Vygenerujte soubor odpovědí a nainstalujte openstack pomocí packstack
Pomocí příkazu packstack vygenerujte soubor odpovědí
[[email protected] ~]# packstack --gen-answer-file /root/openstack-answer.txt
Po vygenerování souboru odpovědí upravte následující parametry pomocí editoru vi,
[[email protected] ~]# vi /root/openstack-answer.txt .............. CONFIG_HEAT_INSTALL=y CONFIG_PROVISION_DEMO=n [email protected] CONFIG_NEUTRON_OVN_BRIDGE_IFACES=br-ex:enp0s3 ..............
Uložte a ukončete soubor.
Nahraďte název rozhraní (enp0s3) podle vašeho nastavení.
Poznámka: Výchozí disk typu sítě tenanta je nastaven jako „geneve “ a výchozí ovladač typu neutronu je nastaven na „geneve a ploché “. Chcete-li tyto výchozí parametry změnit, aktualizujte následující řádky v souboru odpovědí. V této ukázce nebudu tyto parametry aktualizovat.
CONFIG_NEUTRON_ML2_TYPE_DRIVERS=geneve,flat CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=geneve
Spuštěním následujícího příkazu zahajte nasazení openstacku pomocí souboru odpovědí.
[[email protected] ~]# packstack --answer-file /root/openstack-answer.txt
Nasazení bude trvat přibližně 20 až 30 minut v závislosti na hardwaru vašeho systému a rychlosti internetu. Jakmile je úspěšně nainstalován, získáme následující:
Nyní ověřte, zda je IP z rozhraní enp03 přiřazeno k bridge br-ex a také potvrďte, zda je rozhraní enp0s3 přidáno jako port v ovs-bridge.
Spusťte následující příkazy:
[[email protected] ~]# ip a s enp0s3 [[email protected] ~]# ip a s br-ex [[email protected] ~]# ovs-vsctl show
Perfektní, výše uvedený výstup potvrzuje, že instalace byla úspěšná, a síť je také nakonfigurována podle souboru odpovědí.
Krok 5) Otevřete ovládací panel Horizon
Nyní se zkuste přihlásit k ovládacímu panelu Horizon. Adresa URL je již uvedena ve výše uvedeném výstupu, v mém případě je adresa URL http://192.168.1.8/dashboard , Použijte uživatelské jméno jako správce a heslo, které zadáme v souboru odpovědí.
Také odkazujeme na soubor „keystonerc_admin“ pro přihlašovací údaje
Nyní otestujme toto nasazení openstacku spuštěním instance.
Krok 6) Otestujte a ověřte instalaci OpenStack spuštěním instance
Před spuštěním instance v openstacku musíme nejprve vytvořit sítě a obraz routeru a náhledu. Nejprve tedy vytvořte externí síť v admin tenantovi pomocí následujících neutronových příkazů
[[email protected] ~]# source keystonerc_admin [[email protected] ~(keystone_admin)]# neutron net-create external_network --provider:network_type flat --provider:physical_network extnet --router:external
Nyní přidejte podsíť vaší ploché sítě k externí síti spuštěním následujícího příkazu neutron.
[[email protected] ~(keystone_admin)]# neutron subnet-create --name public_subnet --enable_dhcp=True --allocation-pool=start=192.168.1.210,end=192.168.1.230 --gateway=192.168.1.1 external_network 192.168.1.0/24
Vytvořte router provedením následujícího neutronového příkazu a nastavte jeho bránu pomocí externí sítě
[[email protected] ~(keystone_admin)]# neutron router-create dev-router [[email protected] ~(keystone_admin)]# neutron router-gateway-set dev-router external_network
Vytvořte privátní síť a připojte k ní podsíť. Spusťte následující příkaz neutronu,
[[email protected] ~(keystone_admin)]# neutron net-create pvt_net [[email protected] ~(keystone_admin)]# neutron subnet-create --name pvt_subnet pvt_net 10.20.1.0/24
Přidejte rozhraní pvt_net k routeru „dev_router“ pomocí příkazu neutron,
[[email protected] ~(keystone_admin)]# neutron router-interface-add dev-router pvt_subnet
Nyní si stáhněte obrázek Cirros a poté jej nahrajte na pohled
[[email protected] ~(keystone_admin)]# wget http://download.cirros-cloud.net/0.5.1/cirros-0.5.1-x86_64-disk.img [[email protected] ~(keystone_admin)]# openstack image create --disk-format qcow2 --container-format bare --public --file cirros-0.5.1-x86_64-disk.img cirros
Nyní se vraťte na řídicí panel horizontu a ověřte topologii sítě
Perfektní, výše potvrzuje, že soukromá a externí síť byla správně nastavena spolu s routerem.
Poslední krok před vytvořením vm, aktualizujte výchozí skupinu zabezpečení, přidejte pravidla pro vstup icmp a ssh, klikněte na „Skupiny zabezpečení “ na kartě Síť klikněte na Spravovat pravidla a poté klikněte na „Přidat pravidlo ”
Podobně přidejte pravidlo pro ssh
Klikněte na Přidat
Nyní jsou splněny všechny požadavky pro spuštění instance openstacku. Klikněte na Vypočítat Tab a poté vyberte Instance a klikněte na „Spustit instanci ”
Jakmile bude VM úspěšně spuštěn, dostaneme něco jako níže,
Nyní přidružte plovoucí IP k instanci (demo_vm), v části „Akce ” vyberte možnost Přiřadit plovoucí IP ”
Nyní vyberte IP nebo klikněte na znak + získat plovoucí IP z externí sítě a poté ji přidružit
Jakmile je IP přidružena k virtuálnímu počítači, zobrazí se plovoucí IP pod volbou „IP adresa“, příklad je uveden níže
Nyní zkuste přistupovat k tomuto demo_vm pomocí plovoucí IP, použijte cirros jako uživatele a ‚gocubsgo‘ jako heslo
Skvělé, výše uvedený výstup potvrzuje, že můžeme přistupovat k naší instanci přes plovoucí ip. Tímto článek končí; Doufám, že tento tutoriál pomůže nasadit openstack na systému CentOS 8. Neváhejte se podělit o své názory a komentáře.
Přečtěte si také :Jak vytvořit instanci v OpenStack pomocí příkazového řádku