facebook LinkedIN LinkedIN - follow
IT SYSTEMS 1-2/2015 , ITSM (ITIL) - Řízení IT

Klíčem k úspěšné správě IT infrastruktury je automatizace

Foreman automatizuje instalaci a konfiguraci IT



ForemanV každé společnosti musejí IT správci řešit proces instalace operačních systémů a jejich následnou konfiguraci. Pokud je serverů jen několik, obvykle nepředstavuje jejich občasná reinstalace problém. Se zvyšujícím se počtem serverů (nebo stanic) však může tato úloha představovat zbytečnou zátěž IT oddělení náchylnou k nechtěným rozdílnostem mezi konfiguracemi. Velkou výzvou je také správa virtualizačních, cloudových nebo databázových clusterů čítající desítky výpočetních uzlů s různými konfiguracemi. Zde už je automatizace nejen prospěšná, ale spíše životně důležitá.


V ideálním případě mají všechny servery stejnou verzi operačního systému, případně jednu z upravených variant. Mnoho IT oddělení se řídí heslem „méně je více”, takže ze systému doslova vypářou vše nepotřebné. V případě open-source operačních systémů někteří uživatelé dokonce důležité balíky překompilují s minimální možnou konfigurací. Čím méně kódu, tím méně (bezpečnostních) chyb.

Konfigurace jednotlivých systémů je tedy stejná, mají obvykle společnou část (např. správu identit, bezpečnostní nastavení, Windows doménu) a dále další nastavení podle úlohy serveru (web server, aplikační nebo databázový server). Toto prostředí, nazývané také SOE (Standard Operating Environment), by mělo být pevně definované a neměnné.

Foreman

K tomu může napomoci open-source software Foreman, který je k dispozici zdarma na adrese www.theforeman.org. Historicky vznikl jako uživatelské rozhraní pro konfigurační devops nástroj Puppet, který funguje na platformách Linux a Windows, ovšem s rostoucí popularitou byl projekt rozšiřován a dnes jím lze pokrýt kompletní správu životního cyklu serveru - od prvotní instalace přes první nastavení, monitoring konfigurace v čase až po odstavení a případné znovupoužití.

Foreman je nástroj pro instalaci operačních systémů pomocí automatizace jejich instalátorů na holém železe nebo spouštěním existujících obrazů na virtualizaci a cloudu. Po prvním naběhnutí systému přebírá úlohu konfigurační vrstva (Puppet), kterou Foreman krmí vstupními daty od uživatelů (nastavení aplikačních vrstev). Po celou dobu životnosti instance konfigurační nástroj reportuje odchylky od stanovené konfigurace, případně aplikuje požadované změny.

Nejen pro Linux

Ačkoli je Foreman zaměřen především na operační systémy Linux, komunita udržuje návody pro automatizované instalace systémů Windows pomocí WinPE. Samotná aplikace má webové rozhraní s rozsáhlými možnostmi v oblasti autorizace a autentikace s napojením na LDAP/MSAD a konceptem oddělených organizací. Je tedy připravena pro nasazení ve společnostech všech velikostí. Veřejně se k provozu aplikace přihlásily společnosti jako Red Hat, BBC, DHL, Symantec, CERN, Digg nebo česká firma GoodData. Zřejmě největší veřejně známá instalace je ve firmě eBay/Paypal, kde Foreman spravuje 100 tisíc strojů.

Instalace a nastavení serveru na pár kliknutí

Aby mohl Foreman fungovat na virtualizačních platformách, v cloudu i na holém železe, integruje s celou řadou služeb a systémů. V prvé řadě aplikace komunikuje se službami TFTP, DHCP a DNS, a to jak na Linuxu (ISC), tak i na Windows. Díky tomu má Foreman vše pod kontrolou a je možné instalovat OS pomocí technologie PXE (Preboot Execution Environment) přímo ze sítě. Správci IT nemusejí při instalacích vůbec opustit kancelář nebo hledat instalační CD. Některé IT organizace nemají pod správou službu DHCP, která je nutná pro úspěšné PXE instalace. V tomto případě je možné v uživatelském prostředí stáhnout zavaděč pro konkrétní stroj a pomocí USB klíčenky jej zasunout do správného serveru - instalace může pokračovat ze sítě bez nutnosti manuálních zásahů.

Jakmile je v uživatelském rozhraní programu Foreman vytvořen nový záznam pro operační systém (v terminologii programu se hovoří o Hosts - z angl. hostitel), aplikace vytvoří záznamy na TFTP serveru, pakliže se bude instalovat ze sítě. Dále se podle zadaného jména a IP adresy vytvoří záznamy v DNS a DHCP. Důležité je zmínit fakt, že u instalace správce nemusí opustit webové rozhraní programu, doslova několika kliky lze zajistit kompletní instalaci a prvotní nastavení serveru.

Foreman
Foreman

Naskriptování instalace je hračkou díky vestavěnému systému šablon (Provisioning Templates), které jsou dostatečně parametrizovány díky jazyku ERB. Uživatel je obvykle nemusí měnit, postačí nastavit potřebné vstupní informace (časová zóna, heslo superuživatele, rozdělení disku). Šablony jsou však zcela editovatelné skrz webové rozhraní, což usnadňuje migraci z jiných systémů. S Foremanem se dodávají instalační předpisy pro známé linuxové systémy Red Hat Enterprise Linux, Fedora, Ubuntu, Debian, Suse, FreeBSD, ale i méně známé systémy pro síťové prvky jako jsou JunOS. K dispozici jsou různé pomocné šablony pro infrastrukturní cloud typu CloudInit nebo “finish” shell scripts.

V případě virtualizace je sice možné instalovat stejným způsobem jako u holého železa (tedy zavedením instalátoru ze sítě), ale Foreman nabízí integraci s projekty libvirt, oVirt, Xen a produkty RHEV, VmWare. Je tedy možné řešit provisioning přímo z prostředí programu - stačí vybrat obraz disku (image, template), nastavit počet procesorů, RAM, diskové oddíly a sít. Aby toho nebylo málo, podobně Foreman integruje s cloudovými řešeními: OpenStack, OpenNebula, Amazon EC2, Google Compute Engine a Rackspace. Tíky zásuvným (plug-in) modulům komunita přidává nové a nové ovladače každý měsíc.

Foreman v moderním datovém centru

Samostatnou kapitolou je pak instalace a následná dlouhodobá správa virtualizací a infrastrukturních cloudů. Díky schopnosti instalací na holé železo a automatické detekci nově přidaného hardwaru (discovery a auto-provisioning) představuje Foreman ideální nástroj pro nasazení open-source řešení oVirt a OpenStack.

Flexibilitu ještě zvyšuje možnost automatického zjišťování nově přidaných serverů, které po síti nastartují minimální linuxový operační systém, jenž má za úkol zaevidovat server do katalogu s následným vyčkáváním na další příkazy. Zasílané informace o nových strojích (tzv. „fakta”) obsahují například velikost paměti, síťové karty a jejich MAC adresy, disky a další hardware. Správci mohou dvěma kliky přiřadit server do pracovní skupiny (např. webový server, load balancer) a po potvrzení Foreman daný server restartuje do instalačního programu.

Foreman
Foreman

Verze 1.7, která vychází po uzávěrce tohoto čísla, představí auto-provisioning, tedy automatické zahájení instalace na základě pravidel. Uživatelé mohou definovat komplexní pravidla na základě zaslaných faktů o nově přidaných systémech typu: „pokud máš více paměti jak 60 GB, přiřaď server do databázového clusteru”. Stejně snadno mohou nadefinovat šablony pojmenovávání serverů, což zahrnuje možnost náhodného generování jmen (alfa-beta.doména.cz) až po logické rozčlenění do subdomén (dbserver42.rack33.row2.datacenter1.firma.com).

Na základě výše uvedených pravidel Foreman spouští instalaci zcela automaticky. Pravidla správci zadávají v intuitivním webovém prostředí s nápovědou a našeptáváním výrazů dotazovacího jazyka. Přičteme-li integraci s BMC s možností servery vypínat, open-source projekt Foreman lze doporučit i do moderních datových center, která kladou důraz na vysokou efektivitu využití elektrické energie.

Architektura aplikace zcela počítá s mezinárodním provozem napříč datovými centry, kdy komunikaci zajišťuje komponenta nazvaná foreman-proxy. Ta zprostředkuje veškerou komunikaci se spravovanými servery i podpůrnými službami jako je TFTP, DNS, DHCP a Puppet. V extrémních případech lze servery zcela odstřihnout od internetu, případně nasadit druhou instanci aplikace fyzicky oddělenou od internetu. Základní pravidlo pro nasazení je jedna centrální aplikace (s případným HA režimem) a foreman-proxy komponenty v každé síti, kde má Foreman zajišťovat správu.

Mladý, ale dostatečně vyspělý projekt

Ačkoli se někomu může pět let starý projekt zdát příliš nevyzrálý, díky štědrému sponzoringu společnosti Red Hat aplikaci nechybí nic pro vážné firemní nasazení. Kromě standardních věcí jako jsou uživatelé, skupiny, jemná granularita nastavování přístupových práv a integrace se softwarem na správu identit (včetně možnosti správy certifikátů serverů samotných v softwaru na správu identit FreeIPA) Foreman nabízí možnost pronájmu infrastruktury v rámci firem i mimo ni. Lze vytvářet zcela nezávislé organizace a subdivize, v nich definovat detašovaná datová centra, podsítě a domény v libovolném množství.

Foreman má zcela zdokumentované a otestované aplikační rozhraní (REST API) a program pro ovládání z příkazové řádky (CLI). Vývojářský tým si uvědomuje nutnost automatizace a integrace s okolím v dané oblasti, a proto veškerá funkčnost přes webové rozhraní je dostupná i přes CLI/API. Na události v aplikaci lze navěšovat externí skripty (hooks) a snadno tak integrovat do stávajícího prostředí.

Komunita kolem projektu čítá desítky aktivních uživatelů pracujících na denní bázi, dvě stovky přispěvovatelů a tisíce uživatelů. Díky modulární architektuře celé aplikace lze najít na stovku zásuvných modulů, které přidávají novou funkcionalitu nebo nějakým způsobem mění tu stávající. Kromě toho lze najít společnosti, které na Foreman poskytují komerční podporu.

Lukáš Zapletal Lukáš Zapletal
Autor článku, Lukáš Zapletal, pracuje ve společnosti Red Hat na produktu Satelite 6 a projektech Foreman a Fedora.
Chcete získat časopis IT Systems s tímto a mnoha dalšími články z oblasti informačních systémů a řízení podnikové informatiky? Objednejte si předplatné nebo konkrétní vydání časopisu IT Systems z našeho archivu.