HP HELION OPENSTACK LAB GUIDE ČÁST PRVNÍ - ZÁKLADY
HP Helion OpenStack 1.1.1 Srpen 2015 Tomáš Kubica Dokument verze 1.02 www.cloudsvet.cz
Obsah 1.
2.
Úvod do Helion OpenStack ....................................................................................................................................... 2 1.1.
HP Helion OpenStack jako produkt ................................................................................................................... 2
1.2.
HP a open source OpenStack ............................................................................................................................ 2
1.3.
Helion OpenStack jako základ pro další produkty............................................................................................. 2
Základní práce s Helion OpenStack GUI .................................................................................................................... 2 2.1.
IP adresy a přístup do labu................................................................................................................................ 2
2.2.
Běžící VM za minutu .......................................................................................................................................... 3
2.3.
Hrátky se storage aneb image, volume, snapshot ............................................................................................ 5
2.4.
Networking a směrování ................................................................................................................................. 12
2.5.
Jak nemít hesla do VM v šabloně a proč ......................................................................................................... 18
2.6.
Přístup ven a dovnitř ....................................................................................................................................... 19
2.7.
Kdo s kým aneb Security Groups a klíče ......................................................................................................... 20
2.8.
Dáme vše dohromady a spustíme instanci ..................................................................................................... 22
2.9.
Vyzkoušíme naše nastavení ............................................................................................................................ 26
2.10.
DNS jako služba ........................................................................................................................................... 30
2.11.
Přístup do grafické konzole ......................................................................................................................... 32
2.12.
Iniciační skript ............................................................................................................................................. 33
2.13.
Objektová storage ....................................................................................................................................... 35
2.14.
Ukončení této části labu ............................................................................................................................. 37
3.
Shrnutí a závěr ........................................................................................................................................................ 38
4.
Další zdroje .............................................................................................................................................................. 39
1|HP Helion OpeStack
1. Úvod do Helion OpenStack 1.1.
HP Helion OpenStack jako produkt
HP Helion OpenStack je produkt postavený na open source projektu OpenStack a je zaměřený na automatizaci IT infrastruktury, tey Infrastructure as a Service (IaaS). Spojuje virtualizaci serverů, sítě i storage do jednoho orchestračního rámce a můžete tak velmi rychle z jednoho místa získat jednoduchou i složitou infrastrukturu na vyžádání.
1.2.
HP a open source OpenStack
HP není pouze v roli někoho, kdo sesbírá open source komponenty a zabalí je do produktového proveden, které jednoduše nasadíte včetně potřebné podpory, ale je i jedním z nejaktivnější vývojářů v rámci celého projektu. Z veřejně dostupných zdrojů (www.stackalytics.com) se můžete přesvědčit o aktuálních příspěvcích různých firem – HP je obvykle na prvním nebo druhém místě. Zákazník tak získává nejen OpenStack v odladěné a supportovatelné formě, ale řešení od firmy, která přímo provádí vývoj. Dostáváte tedy skutečný produkt vytvořený na základě hlubokých znalostí samotného kódu – žádné experimenty. HP má v OpenStack komunitě téměř 200 svých vývojářů a předsedá řadě projektů – kromě těch zákaznicky atraktivních projektech (například HP má PTL předsednickou funkci v projektech Neutron pro sítě, Ironic pro správu železa nebo Keystone pro bezpečnost), ale i v těch, které jsou zásadní pro enterprise kvalitu – QA projekt (zajištění kvality) nebo Infrastructure (při každé změně v open source kódu dojde k automatickému vytvoření prostředí s tímto kódem a spuštění mnoha automatizovaných testů kvality, tedy skutečná Continuous Integration) apod. HP Helion OpenStack nenahrazuje open source komponenty svým proprietárním kódem – získáváte skutečnou otevřenost a přenositelnost aplikací, znalostí, zkušeností i skriptů.
1.3.
Helion OpenStack jako základ pro další produkty
HP Helion OpenStack je fundamentálním základem celé Helion strategie. Například HP Helion Development Platform staví nad jeho základem, přidává některé další OpenStack projekty (DbaaS, Messaging-aaS) a spojuje je s jinými open source projekty jako je Cloud Foundry a Docker a vytváří tak Platform as a Service (PaaS) pro vývoj a běh aplikací moderním způsobem (cloud-native). Stejně tak je Helion OpenStack součástí nadstavbových closed source řešení. Například produkt je velmi vhodné kombinovat s orchestračním nástrojem HP Cloud Service Automation, který se dokáže postarat nejen o moderní prostředí (OpenStack), ale i tradiční IT nebo veřejné poskytovatele a sjednotit tak přístup k celému IT. Současně nabízí zákaznický portál s katalogem služeb, takže vaši interní i externí zákazníci si mohou jednoduše objednat příslušné it služby a zdroje. Chcete-li spojit moderní svět OpenStack s tradičním IT, nasaďte nad Helion OpenStack právě HP CSA. A pokud hledáte přednastavené kompletní řešení, zvolte Helion CloudSystem Enterprise (spojení obou řešení do jednoho koherentního produktu pro jednoduchou instalaci a podporu zejména v tradičním enterprise prostředí). Na HP Helion OpenStack můžete navázat i další služby jako HP Server Automation a celou řadu dalších. Současně je HP CSA integrováno s HP OneView (správa železa).
2. Základní práce s Helion OpenStack GUI 2.1.
IP adresy a přístup do labu
Pro lab budete potřebovat jméno a heslo do svého projektu a dále počítač s webovým prohlížečem a programem Putty (nebo jiným SSH klientem). Aktuální adresace je následující:
Helion OpenStack – https://16.21.188.200 LabServer (SSH) – 16.21.188.200 na portu 9022 RDP (Windows) – 16.21.188.200 2|HP Helion OpeStack
2.2.
Běžící VM za minutu
Otevřete prohlížeč, zadejte URL z části lab guide 2.1 a přihlaste se do Helion OpenStack jménem a heslem, které v rámci labu dostanete. Ten je namapován na projekt (někdy se používá terminologie „tenant“, ale jde o totéž).
Přivítá vás dashboard s přehledem vašeho projektu. V levé části jsou dvě základní položky menu – Project, kde se budeme pohybovat celou dobu a Identity, kde v první části labu nemáte práva něco měnit. V rámci části Project je součástí Helion OpenStack položka Compute, Network, Object Store a Orchestration. Ostatní položky patří do Helion Development Platform (dodatečná nadstavba), která se zaměřuje na Platform as a Service a není předmětem dnešního labu.
Pojďme si teď spustit nějakou VM. Jděte do záložky Instance a klikněte na Launch Instance
3|HP Helion OpeStack
Vyplňte název, použijte příchuť m1.tiny (velikost serveru) a zaškrtněte, že chcete nabootovat image Debian OS (tak jak na obrázku). Stačí nám jedna instance.
Žádné další přemýšlení, klikněte na Launch. Hned se nám to začne vyrábět.
… a za chvilku to bude
Klikněte na View Log a zobrazí se vám Linux startovací sekvence (dá se také připojit přímo na grafickou konzoli skrz VNC, ale protože jsme v labu za NAT, tak se musí udělat ještě jeden krok navíc – to zatím nechme stranou).
4|HP Helion OpeStack
Uff … takže co se to vlastně právě teď stalo? • • • • •
2.3.
Helion OpenStack vzal v úvahu potřeby zdrojů (příchuť) a našel vhodný compute node (tedy železo) pro vytvoření VM Námi vybraný image (Debian OS) se nakopíroval na compute node, aby z něj VM mohla nabootovat Vytvořila se příslušná VM v compute node (KVM hypervisor) Použila se výchozí privátní síť, takže pokud vytvoříte těchto instancí víc, tak si spolu mohou povídat, aniž by bylo nutné něco nastavovat ve fyzické síti (použila se VXLAN enkapsulace transparentní vůči fyzické síti) Virtuální síťová karta VM kouká do této výchozí privátní sítě
Hrátky se storage aneb image, volume, snapshot
Instance z předchozího příkladu používá ephemeral disky, tedy „jak přijde, tak odejde“. V okamžiku, kdy instanci zrušíte, vygumují se všechny zabrané zdroje a vrátí se k dalšímu využití. Z toho je patrné, že můžeme chtít aplikační stav ukládat na nějaké trvalejší místo – databázi, objektové úložiště nebo blokový volume na storage. A to si právě teď vyzkoušíme na příkladu StoreVirtual VSA (ale ovládání je identické při použití 3PAR nebo v budoucnu i storage třetí strany). Navštivte záložku Volumes a klikněte na Create Volume 5|HP Helion OpeStack
Dejte disku jméno, jako zdroj nic nepoužívejte (zatím necháme volume prázdný) a zvolte Typ (ten připravil administrátor HP Helion OpenStack – v našem případě jde o Volume na StoreVirtual s tenkým provosioningem a bez adaptivní optimalizace – víc o tom, jaké storage lze takto nabídnout v pozdější části labu). Ještě si v pravé části všimněte, že váš projekt má určitá omezení, která byla definována administrátorem Helion OpenStack.
Klikněte na Create Volume To bychom měli … v rámci labu nemáte přístup do StoreVirtual konzole, ale klidně požádejte o nahlédnutí – uvidíte zhruba toto (je to ten nejmladší a nepřipojený):
Pojďme ho tedy připojit k instanci. Klikněte na Edit Atachements
6|HP Helion OpeStack
Vyberte vaší instanci a klikněte na Attach Volume
Prohlédněte si výsledek
Podobně to vypadá ve StoreVirtual konzoli
7|HP Helion OpeStack
Udělejte snapshot – správně bychom měli disk odpojit, aby byla zajištěna konzistence dat – náš disk se ale vlastně zatím nevyužívá, takže to i přes varování uděláme zaživa.
Klikněte na Create Volume Snapshot
… a můžeme z něj vytvořit další volume 8|HP Helion OpeStack
Klikněte na Create Volume
Všimněte si, že s nepřipojeným Volume lze dělat ještě další věci – například ho zvětšit nebo provést jeho backup (to se uloží jako objekt do objektové storage – o tom později). Další možnost je z Volume vytvořit nový startovací image. Tzn. na volume jsme nainstalovali nějaký bootovatelný OS a teď z toho uděláme image – ten následně můžeme použít k vytvoření dalšího volume a nebo klidně vzít jako ephemeral disk (tedy nakopíruje se do compute node v okamžiku vzniku instance). Zkusme vytvořit image.
9|HP Helion OpeStack
Pojmenujte si ho tak, aby bylo zřejmé, že v něm ve skutečnosti nic není ☺ Formát image souboru záleží na situaci – v našem případě zvolíme ten, který je ideální pro naše KVM compute nody.
Klikněte na Upload Přejděte do záložky Images a určitě ho tam uvidíte – můžete dokonce kliknout na Launch a rychle z něj udělat instanci VM. To my ale dělat v tuto chvíli nebudeme.
Image jsou uloženy v objektové storage (o tom později) a jsou v kategoriích Projekt (tedy jen ty moje), Public (k dispozici pro všechny projekty, například image běžných OS) a se mnou sdílené.
Opusťme teď image a ukažme si jak nabootovat instanci z volume. Jděte do Volumes a klikněte na Create Volume. Vyplňte název a jako zdroj zvolte image, vyberte debian, určete velikost 2 GB (pozor, menší pro tento image nestačí a skončí chybou) a klikněte na Create Volume.
10 | H P H e l i o n O p e S t a c k
Volume se vytvoří a začne se do něj kopírovat zvolený image. Až to bude hotové, uvidíte, že disk je připraven a je označen jako bootovací. Teď ho můžeme využít při vytváření instance. Jděte do sekce Instances a klikněte na Launch Instance.
Zvolte opět m1.tiny a podívejte se na možnosti z čeho bootovat.
První dvě volby vytvoří ephemeral disk, tedy nakopírují image přímo na compute node a to buď z image repozitáře nebo ze snapshotu či existujícího volume. Třetí volba nabootuje z připraveného Volume. Poslední dvě varianty vytvoří nový volume a VM nabootují přímo z něj – jeho obsah se buď vytvoří nakopírováním Image do Volume nebo naklonováním snapshotu. Udělají tedy v jednom kroku to, co jsme si my zkusili odděleně (tedy vytvoření bootovacího Volume a spuštění Instance z něho). Zvolte hodnoty tak jak na následujícím screenshotu.
11 | H P H e l i o n O p e S t a c k
Klikněte na Launch a počkejme co se bude dít.
Koukneme do logu (už víte jak), jestli to opravdu naběhlo.
2.4.
Networking a směrování
V rámci našeho projektu potřebujeme vytvářet virtuální sítě a máme následující požadavky: •
Nejsme nějak zásadně omezeni na počet sítí, které takto vytvoříme
12 | H P H e l i o n O p e S t a c k
• • • •
Není potřeba žádná dohoda s vlastníky jiných projektů – můžeme mít jakékoli IP rozsahy, neřešíme čísla VLAN ani nic podobného Není potřeba žádná interakce s fyzickou sítí, tedy všechny popsané kroky musí být možné realizovat zcela bez zásahu do nastavení fyzické sítě (tedy bez zavolání síťaře) Chceme mít možnost směrovat mezi těmto sítěmi, tedy mít router Chceme pro svůj projekt dostat seznam IP adres, které mají obecnou platnost ve firmě nebo na Internetu (tedy chceme spojení s reálným světem)
To vše je součástí HP Helion OpenStack, pojďme si připravit prostředí, které si později vyzkoušíme. Nejdřív založíme novou síť pro náš projekt. Jděte do záložky Network, Networks a uvidíte jednu výchozí síť. Chceme přidat novou, takže klikněte na Create Network.
Dáme jí nějaký název
Přiřadíme nějaký IP rozsah – připomínám, že tento musí být unikátní pouze v rámci našeho projektu, ostatní mohou mít třeba úplně stejnou adresaci.
13 | H P H e l i o n O p e S t a c k
Dále necháme zapnuté DHCP pro přiřazování IP adres, ale pro náš příklad nevyužijeme dalších parametrů (omezení rozsahů nebo vsunutí IP routes) kromě DNS serverů (ale ani to prozatím není nutné – nicméně používejte DNS adresu 10.0.30.29).
Klikněte na Create
14 | H P H e l i o n O p e S t a c k
Právě jste vytvořili novou síť, vidíte, nic náročného (a pak, že jsou sítě složité). Udělejte ještě jednu tak, aby byl výsledek tak jak je na následujícím screenshotu.
Klikněte na Network Topology a uvidíme naše sítě. Všimněte si, že nejsou nijak propojeny, tedy chybí nám nějaký router. Budeme chtít propojit naší zelenou a modrou síť mezi sebou a také je připojit do externí sítě (tedy tam, kde se k nim dostanou uživatelé). Buď jdete do záložky Routers nebo přímo z obrázku topologie klikněte na Create Router.
Vložte nějaké hezké jméno nového routeru a klikněte na Create Router
15 | H P H e l i o n O p e S t a c k
Jak vidíte, router sice máme, ale nemá na sobě žádné porty, tedy není do něj nic připojeno. Buď můžeme do záložky Routers a nebo přímo z obrázku klikněte na router a následně na Add Interface
Napojte router do sítě A
Přidejte další interface do sítě B (buď přes detail routeru nebo zpět z obrázku)
16 | H P H e l i o n O p e S t a c k
Tahle nějak bude vypadat výsledek
Zbývá tento router připojit do okolního světa, tedy k uživatelům či Internetu. Jděte do Routers a klikněte na Set Gateway
Vyberte naší (jedinou) externí síť a potvrďte
17 | H P H e l i o n O p e S t a c k
Jděte zpět do obrázku topologie (můžete kliknout místo Small na Normal) a prohlédněte si výsledek. Gratuluji, právě jste vytvořili svůj první router (a nebylo potřeba nic vybalovat z krabice ani se připojovat do konzole), nastavili jeho rozhraní a směrovací IP adresy a také přidali default route a to včetně překladu vnitřních adres na jednu sdílenou vnější (tedy NAT) ... válíte!
Síť máme připravenou, ale ještě než v ní spustíme nějaké VM, potřebujeme ještě jeden další krok, abychom to pak mohli dobře otestovat.
2.5.
Jak nemít hesla do VM v šabloně a proč
V automatizovaném prostředí samozřejmě můžete mít image virtuálních strojů se zabudovanými přihlašovacími hesly, ale není to ideální situace. Pokud jde o snapshot nějaké hotové aplikace, tak proč ne, ale jde-li o operační systém připravený pro další použití, znamenalo by to bezpečnostní riziko. Image upravený pro cloudové prostředí by měl být schopen se přizpůsobit situaci (v případě Linux to spočívá především v implementaci cloud-init balíčku při startu). Nechme stranou konkrétní mechanismus – místo hesla můžeme v Helion OpenStack vygenerovat SSH klíče (což je podstatně pohodlnější a bezpečnější) a ty použijeme místo hesel. Při startu instance zajistí OpenStack „vsunutí“ správného klíče do vašeho image, klíče, který patří konkrétnímu projektu, ne univerzální heslo. Vygenerujeme si nové klíče (můžeme jich v projektu používat hned několik). Jděte do záložky Compute - Access & Security a pak Key Pairs.
18 | H P H e l i o n O p e S t a c k
Klikněte na Create Key Pair a vytvořte nový klíč
Klíč si stáhněte k sobě (to co získáváte je jeden klíč z páru, ten druhý se vsune do instance – vysvětlení detailů fungování PKI jsou nad rámec dnešního labu). Později se k nim vrátíme.
2.6.
Přístup ven a dovnitř
Zatím jsme si vytvořili dvě vlastní sítě, ale ty jsou jen pro náš projekt – tyto vnitřní IP adresy nejsou externě dostupné. Pro některé části našeho projektu to nemusí vadit (backend ani nemá být přímo přístupný uživatelům), ale frontend nepochybně potřebuje nějakou obecně platnou IP adresu (ať už v rámci firmy nebo dokonce celého Internetu). Jak s adresami hospodařit a současně zajistit přenositelnost aplikace? Nechceme mít tuto adresu přímo nastavenou uvnitř VM a také chceme vědět, který projekt jaké adresy použil. To je v Helion OpenStack řešeno konceptem Floating IP (síťařsky řečeno static NAT). Pro projekt dostaneme nějakou sadu obecně platných IP a bude na nás, které instanci je přiřadíme. Ta si i nadále ponechá svou vnitřní adresu, ale kdykoli bude mluvit do okolního světa (a zpět), Helion OpenStack zajistí potřebný překlad. Začněme tedy tím, že si v projektu Floating IP vyžádáme. Jděte do Access & Security, Floating IPs a klikněte na Allocate IP to project
Vezmeme si adresu z naší externí sítě. Klikněte na Allocate IP
19 | H P H e l i o n O p e S t a c k
… a už ji máme
Zatím s ní nic dělat nebudeme, ale brzy se nám bude hodit
2.7.
Kdo s kým aneb Security Groups a klíče
V této části potřebujeme mít přístup do serverů (instancí) zvenku. Tradičně byste řešili kam smí vaše instance komunikovat a kdo se k ní dostane někde v síti, například formou ACL na nějakém prvku nebo pravidly na firewallu. V případě Helion OpenStack jsou základní stavová pravidla řešena přímo u připojené VM, tedy ještě před vstupem do fyzické sítě. Protože jsme nechali náš projekt ve výchozím stavu, použila se default sada pravidel. Jak vypadá? Podívejte se do záložky Access & Security, Security Groups a klikněte na Manage Rules
Prohlédněte si výchozí pravidla, co nám říkají? Veškerý provoz směřující z naší VM do okolního světa je povolen (první dva řádky – jeden pro IPv6, druhý pro IPv4). Jediný příchozí provoz (tedy to co vstupuje do VM), který je povolen, je ten, který je odpovědí na něco, co iniciovala tato VM. Například pokud VM přistoupí na nějakou webovou stránku, je jí to umožněno a odpověď se zpět dostane. Pokud bychom ale zvěnčí chtěli SSH přístup do VM, tak pohoříme, protože tato komunikace nezačala ve VM, ale někde venku.
Tato pravidla nám pro náš lab nevyhovují – budeme chtít povolit přístup přes SSH a také povolíme ping (ICMP). Je to podobné, jako práce s běžným firewallem. 20 | H P H e l i o n O p e S t a c k
Vraťte se tedy zpět a klikněte na Create Security Group
Dejte skupině pravidel nějaké jméno
A klikněte na Manage Rules
Přidejme pravidlo na povolení „zpětného toku“
Povolíme ping
21 | H P H e l i o n O p e S t a c k
Povolíme SSH přístup
Výsledek bude vypadat nějak takhle
Bezpečnostní pravidla máme připravena, za chvilku je vyzkoušíme
2.8.
Dáme vše dohromady a spustíme instanci
Nejprve zlikvidujte předchozí instance, abychom nevyčerpali veškeré přidělené zdroje v rámci LAB prostředí - už je nebudeme dále potřebovat.
22 | H P H e l i o n O p e S t a c k
Spustíme novou instanci (už víte kde) tak, jako na obrázku (nic nového). Možná jen okomentujme položku Availablity Zone. Jak jste si mohli všimnout, Helion OpenStack najde vhodný fyzický server sám. Pokud ovšem potřebujete dvě instance kvůli zprovoznění clusteru, asi nechcete aby to bylo na serverech ve stejném blade šasi ve stejném racku. Od toho existují zóny dostupnosti, kterými lze například rozdělit první a druhý sál (například každý má nezávislé napájení a klimatizaci). Tak můžete omezit okruh compute zdrojů a jednu instanci nechat v jednom sále, druhou instanci clusteru v druhém sálu. V našem labu nic takového nepoužíváme. Až budete mít vyplněno neklikejte tentokrát na Launch.
Klikněte na další záložku, tedy Access & Security. Natlačíme do instance naše nové klíče a také zvolíme novou Security Group.
Klikněte na záložku Networking a připojte tuto VM do sítě A (přetažením nahoru)
23 | H P H e l i o n O p e S t a c k
Máme hotovo klikněte na Launch. Teď spusťte ještě jednu instanci, ale ta se bude jmenovat DB a bude připojena do sítě B. Výsledek v seznamu instancí bude vypadat nějak takhle:
Podívejte se také na síťovou topologii
24 | H P H e l i o n O p e S t a c k
Zatím máme obě instance v jiné síti a jsou propojené routerem, ale na WEB budeme chtít přistupovat z externí sítě (172.16.x.x), alokujeme si tedy Floating IP. Najděte WEB instanci a klikněte na Allocate Floating IP.
Vyberte adresu a klikněte Allocate
Myslím, že jsme připraveni.
25 | H P H e l i o n O p e S t a c k
2.9.
Vyzkoušíme naše nastavení
Protože jsme v rámci našeho labu schováni za firewallem s NAT (naše externí síť v Helion OpenStack není z provozních důvodu naše interní firemní síť), takže se nemůžeme připojovat přímo. Nicméně přes SSH se připojíme do labu a odtamtud si budeme dál hrát. Otevřete Putty (nebo jiného vašeho oblíbeného SSH klienta) a namiřte ho do našeho labu. IP adresu serveru uvnitř labu, z kterého budete budete pokračovat dál (a port na kterém běží) najdete v části 2.1. v tomto dokumentu. Napište adresu, zaškrtněte SSH, zvolte port 9022 a klikněte na Open.
Přihlaste se jménem a heslem, které jste v rámci labu dostali (tedy stejný login jako do Helion OpenStack).
Z tohoto serveru v labu vyzkoušejte, že prochází ping na náš WEB server.
26 | H P H e l i o n O p e S t a c k
Náš web server je tedy v pořádku přístupný uživatelům. Pojďme se do něj přihlásit. Určitě si pamatujete, že jsme rozebírali to, že ideální je nemít v image zabudovaná žádná hesla. Proto jsme vygenerovali pro náš projekt asymetrické klíče a vsunuli je do instance. Soubor mát určitě stažený. Kdybychom nebyli schováni za firewallem tak přímo ze svého PC použijete Putty, kde jen zadáte cestu k tomuto souboru a je to. Teď ovšem musíme tento soubor dostat na vzdálený server, kam jste se právě připojili. Metod je celá řada, použijeme jednoduše schránku. Otevřete soubor s klíčem a zkopírujte si jeho obsah do schránky
V Putty konzoli zadejte příkaz cat > mujklic.pem a stiskněte enter. Pak v konzoli klikněte na pravé tlačítko myši – to nasype obsah vaší stránky do vstupu. Potom klikněte na CTRL+D, což tuto činnost ukončí. Ověřte, že soubor existuje a upravte jeho práva příkazem chmod 600 mujklic.pem
Pokud se chcete ujistit, že je obsah souboru jak očekáváte, použijte příkaz more mujklic.pem 27 | H P H e l i o n O p e S t a c k
Teď už se můžeme připojit na náš web server. Výchozí uživatelské jméno je “debian” a místo hesla použijeme ověřování klíčem. Zadejte (a dosaďte vaší Floating IP): ssh –i mujklic.pem
[email protected] Budete dotázáni zda si chcete ulož klíč vzdáleného server (odpovězte yes) a měli byste být uvnitř
Skočte na plná práva příkazem sudo –i a koukněte se na IP adresu
28 | H P H e l i o n O p e S t a c k
Všimněte si, že na serveru je použita interní adresa – překlad na externí adresu (v mém případě 172.16.2.3) se provádí mimo vlastní VM. Vyzkoušejte ping databázový server – tím ověříme, že funguje směrování mezi sítěmi A a B.
Všechno nám krásně funguje. Co kdybychom teď u našeho DB serveru změnili implementaci firewall pravidel? Jděte k vaší DB instanci a klikněte na Edit Security Groups
Zrušte přiřazení MojePravidla a naopak přidejte default a klikněte na Save
29 | H P H e l i o n O p e S t a c k
Zkuste znovu ping na DB instanci – prochází?
Máme za sebou komplexnější příklad – co jsme vlastně dosáhli? • • • • •
Vytvořili jsme potřebné instance pro naší aplikaci, aniž bychom museli znát detaily fyzických compute zdrojů Vytvořili jsme dvě nové sítě, přiřadili k nim VM, získali směrování mezi nimi a dostali se z virtuálního světa do skutečného s přiřazenou venkovní adresou aniž bychom v jakémkoli kroku museli kontaktovat síťaře Součástí procesu mohlo být i vytvoření Volume v naší storage tak, jak jsme to dělali už dříve v labu Rozběhli jsme VM ze šablony tak, že jsme do ní vložili bezpečnostní klíče generované pro náš projekt a zajistili tak vysokou míru zabezpečení místo univerzálního hesla v šabloně Nad každou VM jsme vytvořili jednoduchý stavový firewall specificky pro danou VM a to přímo z grafického prostředí (Security Group) – nemuseli jsme kontaktovat nikoho dalšího ani lézt do jiného nástroje
Gratuluji! Tohle všechno by před nasazením Helion OpenStack vyžadovala hodně znalostí, zkušeností a času, ale vy jste to zvládli za malou chviličku.
2.10. DNS jako služba Udělali už jsme hodně práce a na jejím konci máme připravenou infrastrukturu včetně startovacích diskových obrazů – můžeme začít instalovat a updatovat aplikace a jejich komponenty (o automatizaci těchto kroků částečně později v tomto labu a v plně krásé v druhém pokročilejším labu). Nicméně zbývá nám ještě jeden nešvar – komunikovat budeme přes IP adresu, ale pro reálné použití by se více hodilo DNS jméno. Jak to zařídit? Hledáme způsob, jak může tenant vytvářet DNS záznamy sám a to konzistentně bez ohledu na to, jaký DNS server je v infrastruktuře využíván (to je mimo dikci tenanta). Helion OpenStack pro toto nabízí DNSaaS, na jejímž backendu může být PowerDNS (Linux), Microsoft DNS z těch on-premise nebo DNS služba od cloud poskytovatele (podporovaná je DynECT a Akamai). Otevřete záložku DNS a klikněte na Create Domain
30 | H P H e l i o n O p e S t a c k
V rámci labu máme doménu helion.demo – přidejte si před ní svoje příjmení a vytvoříte si tak svůj strom. Nezapomeňte ukončit tečkou.
Přidáme si záznam, který namíříme na naší Floating IP. Klikněte na Manage Records.
Root záznamy byly vytvořeny automaticky. Klikněte na Create Record
Vytvořte nový záznam s vaší Floating IP (u jména nezapomeňte na tečku na konci)
31 | H P H e l i o n O p e S t a c k
Přihlašte se na server v labu (jako v předchozí části) a zkuste ping (nebo nslookup či dig podle vaší libosti). Překládá se vám doménové jméno?
Takto tedy funguje DNSaaS. V další části labu už ho nebudeme potřebovat. Abychom šetřili zdroje labu, smažte teď záznam a doménu.
2.11. Přístup do grafické konzole Podle použitého hypervisoru má HP Helion OpenStack přístup do grafické konzole instance i v případě, že síťová konektivita tam není. KVM hypervisor v rámci hLinux toto plně podporuje. Jediné, co musíme vyřešit, je fakt, že ke kontroleru se připojujeme skrz firewall a NAT (což není typický produkční setup). GUI využívá absolutní odkaz na konzoli, tedy nepřeložený. Abychom to mohli zkoušet, klikněte u instance na Console.
32 | H P H e l i o n O p e S t a c k
Konzole nenaběhne:
Nevadí – klikněte pravým tlačítkem na odkaz a otevřete konzoli v jiné záložce. V URL je špatná IP adresa, přepište ji z 10.0.10.13 na IP adresu, kterou v labu používáme (IP adresa konzole OpenStack) a chytne se to. Například
přepište na https://16.21.188.200:6080/vnc_auto.html?... My jsme v našem labu zatím nic takového nepotřebovali, ale určitě se vám to bude hodit – například, když nemáte hotový cloud image, ale musíte si jeden nejdřív vytvořit. Jako image tedy použijete běžný instalační disk a teprve po jeho plné instalaci vytvoříte finální image pro vaše další použití. Na to potřebujete přístup do konzole.
2.12. Iniciační skript Pokud používáte image se zabudovaným cloud-init (tedy něco, co se obvykle označuje jako cloud-ready image), můžete při startu instance spustit vámi definovaný skript. Buď jednoduchý tak, jak to v rámci labu uděláme my (do 16KB kódu), nebo i komplexnější ve formě konfiguračního disku. Vytvořte novou instanci s Debian image a vyplňte potřebné parametry (m1.tiny, image, síť) tak, jak už umíte. Jděte na záložku Post-Creation – zadáme tam jednoduchý skript, který vytvoří nového uživatele včetně hesla: #!/bin/bash echo "Nastavuji noveho uzivatele..." useradd fantomas echo "fantomas:fantomas" | chpasswd echo "Byl jsem tu ... fantomas"
33 | H P H e l i o n O p e S t a c k
Spusťte instanci a po té co naběhne se podívejte do logu. Klikněte na View Log
Zjistili jste přítomnost Fantomase?
Připojte se do konzole (nezapomeňte, že jsme za NAT a musíme použít fintu z předchozí části labu) a přihlaste se tímto účtem. 34 | H P H e l i o n O p e S t a c k
Gratuluji – právě jste se naučili upravit výsledný OS přímo při vytváření instance. Tímto způsobem můžete například nastavit potřebné parametry pro to, aby se do OS dostala nějaká další služba či nástroj pro složitější kroky, jako je HP Server Automation, Chef, Puppet apod.
2.13. Objektová storage Součástí projektu OpenStack je implementace objektové storage. Běžná instalace používá pouze základní redundantní variantu a je určena především pro interní použití samotného OpenStack. Například veškeré bootovací image či zálohy volume se ukládají právě sem. Objektovou storage ale můžete v instalátoru vytvořit i ve scale-out verzi třeba na několik desítek uzlů a vytvořit tak masivní plně redundantní prostředek ukládání objektů. Kapacita i výkon je čistě záležitostí počtu nodů, které mohou být jakýkoli server s nějakými disky. Typické nastavení ukládá každý objekt na třech různých místech a v případě havárie nodu se automaticky celé prostředí dosynchronizuje zcela bez výpadku, propadu výkonu nebo jakéhokoli manuálního zásahu. Chcete-li například ukládat velké soubory, diskové obrazy, zálohy nebo filmy, objektová storage může být perfektní volbou. Vězte také, že řešení si nejen můžete sestavit sami s využitím HP Helion OpenStack, ale existuje i před připravená a odladěná varianta vybraného vhodného hardware, integrace, návazností, OpenStack a finančního modelu (aka per pay use) pod názvem HP Helion Content Depot. Práce s objektovou storage je velmi snadná. V našem labu využijeme základní instalace zaměřené na interní použití OpenStackem, ale pokud to nebudete přehánět, můžete si pohrát i s tou. Smyslem je, že uploadnete soubor a získáte jeho URL, pod kterou ho vždy najdete … a to je všechno, velmi jednoduché, extrémně škálovatelné. Jděte do záložky Object Store, Containers a klikněte na Create Container
Dejte mu jméno a určete, jestli je viditelný jen pro váš projekt, nebo běžně dostupný a klikněte na Create Container
35 | H P H e l i o n O p e S t a c k
Velmi brzo bude hotovo a můžete kliknout na Upload Object
Zvolte nějaký soubor (mějte prosím ohledy na zdroje v labu, tedy něco rozumně velkého) a nahrajte do objektové storage kliknutím na Upload Object
Po úspěšném nahrání uvidíte objekt (v našem případě application/pdf typ) jako dostupný
36 | H P H e l i o n O p e S t a c k
Pokud jste kontejner označili jako veřejný, může kdokoli bez ověření stáhnout objekt z jeho URL (podívejte se kam vede odkaz v Download. Daleko víc si se Swift objektovou storage pohrajete v druhé pokročilejší části lab guide, stáhněte si z www.cloudsvet.cz.
2.14. Ukončení této části labu Pohráli jsme si, pojďme teď uvolnit alokované zdroje, především běžící instance a volume. Proveďte prosím následující kroky: 1. 2. 3. 4. 5. 6. 7.
Terminujte běžící instance Smažte volume backupy a snapshoty Smažte volume Pokud jste vložili něco do objektové storage, zrušte to včetně kontejneru Klikněte na router a zrušte jeho interfacy Zrušte router Zrušte vámi vytvořené sítě, ale default nechte
Uff, nebylo to lepší dělat nějakým chytřejším skriptem? No jasně a nejen proto pokračujte do druhé části labu, tentokrát pro pokročilé. Stahujte na www.cloudsvet.cz.
37 | H P H e l i o n O p e S t a c k
3. Shrnutí a závěr Právě jste dokončili první část labu zaměřenou na uživatelskou zkušenost v HP Helion OpenStack. Vyzkoušeli jste si na vlastní kůži jak je možné orchestrovat celé prostředí a získávat infrastrukturu na zavolání, tedy IaaS. Ukázali jsme si jak pracovat s compute, storage a networking zdroji, jak vytvářet a používat image a snapshoty, jak orchestrovat ovládání hypervisorů, StoreVirtual VSA a dalších komponent. Pokud se považujete za poučený sales, technický sales nebo presales na ne-automatizační oblasti, je pro vás úroveň detailu v tomto labu možná tak akorát. Pro solution architekty, přemýšlivce a automatizátory je zaměřena druhá část labu, kde ochutnáte mnoho dalších moderních technologií a postupů: • • • • • •
Zrychlíte svojí práci díky použití standardní OpenStack CLI Naučíte se pracovat s OpenStack API a psát vlastní orchestrační aplikace Vyzkoušíte si práci se šablonami OpenStack Heat Naučíte se instalovat OS balíčky a aplikace s Ansible a HP Server Automation Vyzkoušíte si orchestraci celého prostředí, spojení nového a tradiční IT a vytváření servisního katalogu s HP Cloud Service Automation Zkusíte si PaaS s HP Helion Development Platform
Pro implementátory pak připravujeme ještě třetí část zaměřenou na instalaci a administraci automatizovaného prostředí.
Gratuluji k absolvování této procházky světem automatizace s HP Helion OpenStack ! Mnoho zdaru v praxi a stáhněte si další díl tohoto lab guide pro pokročilé.
Tomáš Kubica, Enterprise architect www.cloudsvet.cz
38 | H P H e l i o n O p e S t a c k
4. Další zdroje Blog o novém IT a nejnovější verze těchto lab guide: www.cloudsvet.cz
Helion dokumentace je webová a často aktulizovaná, ideální primární zdroj informací: http://docs.hpcloud.com/
HP nadstavby jako je Cloud Service Automation, Server Automation nebo Executive Scorecard: http://www.hp.com/software
Open source projekty: http://www.openstack.org/ http://cloudfoundry.org/
39 | H P H e l i o n O p e S t a c k