toto bude úplný návod k instalaci OpenStack(minimální konfigurace). Velmi rád bych vyzkoušel open-source cloud OS a OpenStack je jedním z vážných řešení, které používá mnoho institucí a podniků. Cern je jedním z uživatelů a Red Hat je silným zastáncem OpenStack.
Buďte si vědomi: I po tomto „vyžehlit“ tutorial, budete uvítáni s chybami po nastavení všechno nahoru, a budete potřebovat k výzkumu více, jak dostat své OpenStack pracovat ok. O některých problémech budu psát v několika dalších rychlých průvodcích.
OpenStack má také pověst komplikované instalace a údržby a není příliš stabilní. Hodně jsem četl na téma OpenStack, prošel jsem spoustou dokumentace a to je výsledek. To se bude týkat ruční instalace uvolnění vlaku a tato rozsáhlá řada pokryje každou součást minimální instalace OpenStack (nenechte se tímto minimálním oklamat, je toho hodně co dělat).
Existuje několik rozdílů mezi OpenStack oficiální dokumentace a nasazení samotné, tak tento kurz by měl také pomoci ušetřit bezpočet hodin hledají chyby a dešifrování chyby přes cestu.
postup je zdlouhavý, ale vřele bych ho doporučil, protože na jeho konci budete dobře rozumět základním principům OpenStack.
Více na toto téma příště, pojďme do práce.
existuje křivka učení a z toho, co jsem četl, věřím, že OpenStack je v tuto chvíli stabilním řešením pro vaše cloudové potřeby.
ale uvidíme po cestě, pojďme se ponořit.
předpoklady
budu používat CentOS 7 pro své instalace (v. 1908). Budu vytvářet svou laboratoř v VMware Fusion / Workstation. CentOS počáteční instalace je minimální bez GUI nebo jakýchkoli dodatků.
všechny mé VM budou mít jádra 4CPU a 8 GB RAM s minimálně 120 GB pevného disku.Minimální požadavky najdete zde – https://docs.openstack.org/install-guide/overview.html
Vezměte na vědomí další požadavky ze síťových a hnacích komponent a přidejte je do své laboratoře.
Moje LABORATOŘ má přístup k internetu.
budu následující OpenStack dokumentace na cestě – https://docs.openstack.org/install-guide/common/conventions.html
budu instalovat Vlak build, který je aktuální. Začnu s uzlem řadiče 1 a výpočetním uzlem 1.
Síť Poskytovatele bude následující (budete potřebovat přístup k internetu pro tuto konfiguraci):
10.0.0.1/24 – brána
10.0.0.11/24 – Řadič Uzlu 1
10.0.0.31/24 – Compute Node 1
10.0.0.41/24 – Blokové Storage Node 1.
10.0.0.51/24 – Object Storage Node 1.
10.0.0.52/24 – Object Storage Node 2
já se také později vytvořit síť v dosahu 203.0.113.0/24, která bude správu sítě.
jsou Zde také jména a IP adresy stroje (budete také potřebovat, je v hosts souboru):
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
Změna Stroj Hostname
Pro každý stroj v laboratoři změnit hostname. Změním svá jména hostitelů na jména, která jsem zadal těsně nad tímto.
příkaz je níže, řadič je název jednoho ze strojů, změňte jej na to, co uznáte za vhodné.
sudo hostnamectl set-hostname controller
Zde je, jak změnit vzhled po restartu.
já jsem pojmenoval svou stroje – regulátor, compute1, block1, object1, object2.
Nastavit Název Usnesení
Upravte síťová rozhraní nachází v /etc/sysconfig/network-scripts
V mém případě, mám rozhraní ifcfg-ens33
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
jsem upravil následující řádky (controller stroj příklad):
BOOTPROTO=noneIPADDR=10.0.0.11PREFIX=24GATEWAY=10.0.0.1DNS1=10.0.0.1DNS2=8.8.8.8ONBOOT=yesIPV6INIT=no
Zde je, jak to vypadá
Restartujte přístroj po nastavení ip konfigurace. Opakujte tyto kroky pro všechny stroje v laboratoři (samozřejmě nastavit jinou IP adresu pro každý).
Aktualizujte instalaci CentOS
než půjdeme dál, aktualizujeme naše instalace CentOS. Tímto způsobem také potvrdíme naše připojení k internetu.
sudo yum update -y
upravit soubor Hosts
znovu to musíme udělat na každém počítači. Upravíme soubor hosts, aby se stroje mohly navzájem vidět podle jména.
sudo vi /etc/hosts/
Toto je to, co musíme napsat
10.0.0.11 controller10.0.0.31 compute110.0.0.41 block110.0.0.51 object110.0.0.52 object2
Zde je, jak můj soubor vypadá jako
Pokud jsme udělali vše v pořádku, měli bychom nyní být schopni ping od správce compute1 a naopak podle jména. (Ujistěte se, že váš ping je k dispozici prostřednictvím brány firewall)
Funguje.Zadejte tyto hodnoty do každého souboru hosts na každém počítači a ujistěte se, že můžete ping každý stroj, a testovat z každého počítače.
nastavení služby NTP
přesné měření času je důležité, proto nastavíme časový server a připojíme k němu klienty. Time server bude naším serverem řadiče a klientem všech ostatních strojů.
nastavení serveru NTP
uděláme to na našem serveru řadiče.
sudo yum install chrony -y
Povolit a spustit službu příkazem
sudo systemctl start chronydsudo systemctl enable chronyd
můžete také zkontrolovat stav služby spuštěním
systemctl status chronyd
Next, budeme upravit /etc/chrony.conf soubor
sudo vi /etc/chrony.conf
pro tento tutoriál nechám výchozí servery centos NTP. Jinak pokud chcete upravit NTP servery, můžete přidáním příkazu níže (Nahradit NTP_SERVER s NTP server název)
server NTP_SERVER iburst
Také budeme muset povolit přístup pro naše NTP klienti z lokální sítě do uncommenting a editaci následující řádek
allow 10.0.0.0/24
Tady je můj config. Zelená část je místo, kde zadáte své servery NTP, a červená část je povolen přístup z naší místní sítě pro synchronizaci času.
Restartujte server nebo chrony služby zadáním
sudo systemctl restart chronyd
zkontrolujeme, zda náš server synchronizuje čas zadáním
chronyc sources
Služba funguje pro mě.
Budeme také povolit prostřednictvím brány firewall
sudo firewall-cmd --permanent --add-service=ntpsudo firewall-cmd --reload
NTP klientům setup
Tyto kroky je třeba provést na zbytek stroje.
ještě jednou, potřebujeme nainstalovat chrony
sudo yum install chrony
Povolit a spustit NTP služby
sudo systemctl start chronydsudo systemctl enable chronyd
Poté, co jsme opět muset upravit /etc/chrony.conf
sudo vi /etc/chrony.conf
Budete muset odstranit všechny coment všechny NTP servery a zadejte následující
server controller iburst
Nechat vše, jak je, a zavřete soubor. Takhle vypadá moje.
Opět, restart NTP služby
sudo systemctl restart chronyd
A podívejme se, jestli to funguje,
chronyc sources
To funguje, klient je komunikace s NTP server.
A, na NTP server, když jsme se vstoupit příkaz
chronyc clients
Budeme se že compute1 je NTP klient
Opakujte krok na zbytek stroje.
OpenStack balíčky
tyto kroky musí být provedeny na všech uzlech. Pokud jste neaktualizovali instalaci CentOS, a také zakázat EPEL Repo.
!!!///JEN PRO RED HAT NAINSTALUJE, CENTOS PŘESKOČIT
subscription-manager repos --enable=rhel-7-server-optional-rpms \ --enable=rhel-7-server-extras-rpms --enable=rhel-7-server-rh-common-rpms
Spustit následující příkaz (instalujeme Vlak vydání)
sudo yum install centos-release-openstack-train
Další příkaz provedeme, je,
sudo yum upgrade
Restartujte počítač po, a zvolte nový kernel, aby jej aktivovat.
Další příkaz bude
sudo yum install python-openstackclient
A konečně, potřebujeme integrovat naše OpenStack nainstalovat do SELinux
sudo yum install openstack-selinux
SQL Databáze
Databáze bude nainstalována na správce node.Nainstalujeme MariaDB.
sudo yum install mariadb mariadb-server python2-PyMySQL
po dokončení instalace budeme muset upravit openstack.conf se nachází v /etc / my.čnf.d
sudo vi /etc/my.cnf.d/openstack.conf
vytvoříme mysqld oddíl s následujícím info (ujistěte se, že bind-address je adresa vašeho správce)
bind-address = 10.0.0.11default-storage-engine = innodbinnodb_file_per_table = onmax_connections = 4096collation-server = utf8_general_cicharacter-set-server = utf8
Zde je, jak to vypadá v mém případě
Povolit a spustit MariaDB
sudo systemctl enable mariadb.servicesudo systemctl start mariadb.service
Budeme také přidat výjimku brány firewall
sudo firewall-cmd --permanent --add-service=mysqlsudo firewall-cmd --reload
Konečně jsme zajistí naše instalaci a nastavit heslo pro root uživatele sql
sudo mysql_secure_installation
Message Queue
používá OpenStack fronty zpráv k koordinovat operace a stav mezi službami. Obvykle běží na řadiči, takže jej nainstalujeme na řadič. Budeme instalovat RabbitMQ
Instalace
sudo yum install rabbitmq-server
Spustit a povolit službu,
sudo systemctl enable rabbitmq-server.servicesudo systemctl start rabbitmq-server.service
Přidat openstack uživatele. Nahraďte RABBIT_PASS heslem.
sudo rabbitmqctl add_user openstack RABBIT_PASS
Nastavit oprávnění
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
Tyto jsou nastavení brány firewall pro 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
Volitelné Selinuxu příkaz
setsebool -P nis_enabled 1
Memcached
Identity service mechanismus ověřování pro služby využívá Memcached do mezipaměti tokenů. Služba memcached obvykle běží na uzlu řadiče, takže ji nainstaluji na uzel řadiče.
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 mohou používat etcd, distribuované spolehlivé úložiště klíčových hodnot pro distribuované zamykání klíčů, ukládání konfigurace, sledování živých služeb a dalších scénářů.
Etcd by měl být nainstalován na uzlu regulátoru.
Instalace
sudo yum install etcd
dále upravíme / etc / etcd / etcd.conf
měli byste upravit soubor, jako je tento, a změnit hodnoty níže, aby odpovídaly vaší IP nebo jméno řadiče.
#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"
To je, jak můj soubor vypadá jako
Povolit a spustit službu,
sudo systemctl enable etcdsudo systemctl start etcd
Další nastavení firewallu
sudo firewall-cmd --add-port={2379,2380}/tcp --permanentsudo firewall-cmd --reload
Tak jsme se více či méně „hotový“ se zpočátku součástí, budeme teď dělat Minimální nasazení na Vlak.
minimální nasazení pro vlak
Ok, takže jsme byli zatím úspěšní. Nyní budeme dělat minimální nasazení služby pro vlak. Více informací lze nalézt zde – https://docs.openstack.org/install-guide/openstack-services.html
Služby musí být nainstalován v určeném pořadí, jako je znázorněno níže.
Protože tento tutoriál je trochu dlouho, dokončím to tady, a pokrytí jednotlivých služeb výše v samostatném tutoriálu.
důležité je dělat všechny služby v přesném pořadí, jak jsou níže.
zde jsou odkazy
- Identity service – Instalace keystone Pro vlak
2. Image service-glance instalace pro vlak
3. Placement service-umístění instalace pro vlak
4. Compute service-nova instalace pro vlak
5. Síťová služba-neutronová instalace pro vlak
po instalaci Služeb minimálního nasazení doporučujeme také nainstalovat následující komponenty:
6. Palubní deska-instalace horizontu pro vlak
7. Block Storage service – Instalace škváry pro vlak
8. Object Storage service – swift installation for Train
Additional links for after installation for errors you may encounter:
Disclaimer