Bábkový tutoriál - komplexné riešenie pre správu konfigurácie



Puppet Tutorial je druhý blog zo série blogov Puppet. Hovorí o architektúre bábok, komponentoch a príklade nasadenia mysql a php pomocou Puppet.

Výukový program pre bábky

Puppet Tutorial je druhý blog zo série blogov Puppet. Dúfam, že ste si prečítali môj predchádzajúci blog na tému „ Čo je to Bábka ”, Ktorý vysvetľuje správu konfigurácie a prečo je to dôležité pomocou prípadov použitia.

V tomto tutoriáli o bábkach sa budeme venovať nasledujúcim témam:





Čo je Configuration Management?

V mojom predchádzajúci blog , Uviedol som úvod do správy konfigurácie a toho, aké výzvy nám pomáha prekonávať. V tomto Bábkovom tutoriáli vám vysvetlím rôzne vzájomne závislé činnosti Configuration Management.Ale predtým si uvedomme, čo to je Položka konfigurácie (CI). Položka konfigurácie je akýkoľvek komponent služby, prvok infraštruktúry alebo iná položka, ktorú je potrebné spravovať, aby sa zabezpečilo úspešné poskytnutie služieb. Medzi príklady CI patria dokumenty s individuálnymi požiadavkami, softvér, modely a plány.



Správa konfigurácie pozostáva z nasledujúcich prvkov:

  • Identifikácia konfigurácie
  • Riadenie zmien
  • Účtovníctvo stavu konfigurácie
  • Audity konfigurácie

Nasledujúci diagram vysvetľuje tieto komponenty:

Komponenty pre správu konfigurácie - Bábkový tutoriál - Edureka



Identifikácia konfigurácie: Jedná sa o proces:

  • Označenie položiek konfigurácie softvéru a hardvéru jedinečnými identifikátormi
  • Identifikácia dokumentácie, ktorá popisuje položku konfigurácie
  • Zoskupenie súvisiacich položiek konfigurácie do základných línií
  • Označenie revízií položiek konfigurácie a základných línií.

Riadenie zmien: Ide o systematický prístup k riešeniu zmien z pohľadu organizácie aj jednotlivca.

Účtovníctvo stavu konfigurácie: To zahŕňa proces zaznamenávania a hlásenia popisov konfiguračných položiek (napr. hardvéru, softvéru, firmvéru atď.) a všetkých odchýlok od základnej čiary počas návrhu a výroby. V prípade podozrenia na problémy je možné rýchlo určiť overenie základnej konfigurácie a schválených úprav.

Audity konfigurácie: Audity konfigurácie poskytujú mechanizmus na určenie stupňa, v akom je súčasný stav systému v súlade s najnovšou základnou úrovňou a dokumentáciou. V zásade ide o formálne preskúmanie, ktorým sa overuje, či bude dodaný produkt fungovať tak, ako je inzerovaný, propagovaný alebo akýmkoľvek spôsobom sľúbený zákazníkom. Využíva dostupné informácie ako výsledok auditov kvality a testovania spolu s účtovnými informáciami o stave konfigurácie, aby poskytol záruku, že bolo zostavené požadované množstvo.

Poďme porozumieť správe konfigurácie s prípadom použitia. Predpokladajme, že ak musíte aktualizovať konkrétny softvér alebo ho chcete vymeniť, v takom prípade by ste pre úspešnú správu konfigurácie mali postupovať podľa nasledujúceho vývojového diagramu:

Teraz je ten pravý čas na pochopenie Bábkovej architektúry.

Výukový program pre bábky - Architektúra mesta Bábka

Puppet používa architektúru Master-Slave. Diagram nižšie zobrazuje to isté:

Na vyššie uvedenom obrázku sú vykonávané nasledujúce funkcie:

  • Bábkový agent pošle fakty bábkarovi. Fakty sú v podstatedvojica kľúč / hodnota, ktorá predstavuje nejaký aspekt stavu Slave, ako je napríklad jeho IP adresa, doba prevádzky, operačný systém alebo to, či ide o virtuálny stroj. Fakty podrobne vysvetlím ďalej v blogu.
  • Puppet Master používa fakty na zostavenie katalógu, ktorý definuje, ako by mal byť Slave nakonfigurovaný. Katalógje dokument, ktorý popisuje požadovaný stav pre každý zdroj, ktorý Puppet Master spravuje v slave. Ďalej podrobne vysvetlím katalógy a zdroje.
  • Puppet Slave sa hlási späť k Masterovi, čo naznačuje, že konfigurácia je dokončená, čo je viditeľné na paneli Puppet.

Pozrite sa na toto video s návodom pre bábky, kde získate dôkladné pochopenie bábky.

Výukový program pre bábky pre začiatočníkov Školenie DevOps Edureka

Výukový program pre bábky - komunikácia bábkarov a otrokov

Bábkar a Otrok komunikujú prostredníctvomzabezpečený šifrovaný kanál pomocou SSL. Diagram nižšie zobrazuje to isté:

Ako vidíte na obrázku vyššie:

  • Puppet Slave žiada o certifikát Puppet Master.
  • Po obdržaní certifikátu Puppet Master požiada Master o certifikát Slave.
  • Len čo Master podpíše certifikát Slave, Slave požaduje konfiguráciu / dáta.
  • Nakoniec Puppet Master odošle konfiguráciu do Puppet Slave.

Poďme sa teraz pozrieť na rôzne komponenty bábky.

synchronizácia vlákien v príklade Java

Výukový program pre bábky - Súčasti Bábka

Manifesty: Každý otrok má svoje konfiguračné podrobnosti v Puppet Master, napísané v rodnom jazyku bábky. Tieto podrobnosti sú napísané v jazyku, ktorému bábka rozumie, a nazývajú sa ako manifesty. Skladajú sa z loutkového kódu a ich názvy súborov používajú znak .pp predĺženie. V zásade ide o bábkové programy.
Napríklad: V Puppet Master môžete napísať Manifest, ktorý vytvorí súbor a nainštaluje server Apache na všetkých Puppet Slaves pripojených k Puppet Master.

Modul: Bábkový modul je zbierka manifestov a údajov (napríklad faktov, súborov a šablón) a má konkrétnu štruktúru adresárov. Moduly sú užitočné na usporiadanie vášho kódu bábky, pretože vám umožňujú rozdeliť kód na viac manifestov. Moduly sú samostatné balíčky kódu a údajov.

Zdroj: Zdroje sú základnou jednotkou pre modelovanie konfigurácií systému. Každý zdroj popisuje nejaký aspekt systému, napríklad konkrétnu službu alebo balík.

Znak: Facter zhromažďuje základné informácie (fakty) o Puppet Slave, ako sú podrobnosti o hardvéri, nastavenia siete, typ a verzia OS, IP adresy, MAC adresy, kľúče SSH a ďalšie. Tieto fakty sú potom sprístupnené v Manifestoch bábkarských majstrov ako premenné.

Kolektívna zbierka: Jedná sa o rámec, ktorý umožňuje paralelné vykonávanie niekoľkých úloh na viacerých jednotkách Slave. Plní rôzne funkcie ako:

  • Interakcia s klastrami otrokov, či už v malých skupinách alebo vo veľmi veľkých nasadeniach.
  • Na distribúciu žiadostí použite paradigmu vysielania. Všetci otroci dostávajú všetky požiadavky súčasne, k požiadavkám sú pripojené filtre a na žiadosti bude pôsobiť iba otrokov zhodujúcich sa s filtrom.
  • Na volanie vzdialených otrokov používajte jednoduché nástroje príkazového riadku.
  • Píšte vlastné správy o svojej infraštruktúre.

Katalógy: Katalóg popisuje požadovaný stav každého spravovaného prostriedku v podradenej jednotke. Je to kompilácia všetkých zdrojov, ktoré Puppet Master aplikuje na daného Otroka, ako aj vzťahov medzi týmito zdrojmi.Katalógy zostavuje Puppet Master z Manifestov a údajov poskytnutých otrokom (ako sú fakty, certifikáty a prostredie, ak je poskytnuté), ako aj voliteľné externé údaje (ako sú údaje z externého klasifikátora Slave, exportované zdroje, a funkcie). Master potom na požiadanie poskytne zostavený katalóg slave.

Teraz v tejto príručke Bábka sa moja ďalšia časť zameria na Hands-On.

Výukový program pre bábky - praktický

Ukážem vám, ako nasadiť MySQL a PHP z Puppet Master do Puppet Slave. Na demonštračné účely používam iba jedného otroka. K jednému pánovi môžu byť pripojené stovky otrokov. Na nasadenie PHP a MySQL použijem preddefinované moduly dostupné na forge.puppet.com. Môžete si tiež vytvoriť vlastné moduly.

Krok 1: V hre Puppet Master nainštalujte moduly MySQL a PHP.

Vykonajte toto:

1) bábkový modul nainštaluje puppetlabs-mysql –verzia 3.10.0

Tento modul MySQL inštaluje, konfiguruje a spravuje službu MySQL. Tento modul riadi inštaláciu a konfiguráciu MySQL, ako aj rozširovanie Puppet o správu zdrojov MySQL, ako sú databázy, používatelia a granty.

2) bábkový modul nainštaluje mayflower-php – verzia 4.0.0-beta1

Tento modul sa používa na správu PHP, najmä php-fpm. PHP-FPM (FastCGI Process Manager) je alternatívna implementácia PHP FastCGI s niektorými ďalšími funkciami užitočnými pre stránky akejkoľvek veľkosti, najmä pre rušnejšie stránky.

Krok 2: V Puppet Manifests zahŕňajú MySQL server a PHP.

Vykonajte toto: vi /etc/puppet/manifests/site.pp

Môžete použiť akýkoľvek iný editor, ako napríklad vim, gedit atď. V tomto súbore site.pp pridajte nasledovné:

zahrnúť ':: mysql :: server' zahrnúť ':: php'

Uložiť a ukončiť.

Krok 3: Bábkoví otroci pravidelne (po každých 30 minútach) sťahujú svoju konfiguráciu od Majstra. Vyhodnotí hlavný manifest a použije modul, ktorý špecifikuje nastavenie MySQL a PHP. Ak to chcete okamžite vyskúšať, musíte na každom uzle Slave spustiť nasledujúci príkaz:

ako klonovať objekt v

Vykonajte toto: bábkový agent -t

Takže MySQL a PHP sú úspešne nainštalované na uzle Slave.

Krok 4: Ak chcete skontrolovať verziu nainštalovaných MySQL a PHP:

Vykonajte toto:

1) mysql -v

2) php-verzia

Blahoželáme! MySQl a PHP sú vo vašom Puppet Slave funkčné. Tu som vám ukázal iba jedného otroka, ale predstavte si, či sú stovky otrokov. V takom scenári bude vaša práca taká ľahká, stačí zadať konfigurácie v Puppet Master a Puppet Slaves automaticky vyhodnotí hlavný manifest a použije modul, ktorý špecifikuje nastavenie MySQL a PHP.

Ak ste to našli Výukový program pre bábky relevantné, pozrite sa na autor: Edureka, dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete. Kurz certifikácie EdOkaka DevOps Certification Training pomáha študentom získať odborné znalosti v rôznych procesoch a nástrojoch DevOps, ako sú Puppet, Jenkins, Nagios a GIT na automatizáciu viacerých krokov v SDLC.