Programovanie

Prečo používať Puppet na automatizáciu a orchestráciu

Spoločnosť Puppet účtuje spoločnosti Puppet automatizačný nástroj ako de facto štandard pre automatizáciu dodávok a nepretržitú prevádzku hybridnej infraštruktúry. To istotne platilo naraz: Puppet sa datuje nielen rokom 2005, ale v súčasnosti si rovnako ako používatelia nárokuje 40 000 organizácií na celom svete, z toho 75 percent z rebríčka Fortune 100. Zatiaľ čo Puppet je stále veľmi silný produkt a oproti minulým rokom zvýšil svoju rýchlosť a možnosti v priebehu rokov jeho konkurenti, najmä šéfkuchár, tento rozdiel zmenšili.

Ako možno očakávať od doyen automatizačného priestoru IT, Puppet má veľmi veľkú zbierku modulov a pokrýva škálu od CI / CD po cloudovú natívnu infraštruktúru, hoci veľká časť tejto funkcie je poskytovaná prostredníctvom ďalších produktov. Aj keď je Puppet primárne systém založený na modeloch s agentmi, podporuje operácie push s Puppet Tasks. Puppet Enterprise je dokonca k dispozícii ako služba na Amazone.

Bábkové výrobky

Aktuálne ponuky bábok zahŕňajú open source Puppet, Puppet Enterprise, Puppet Pipelines, Puppet Discovery, Puppet Bolt, Puppet Container Registry a Puppet Forge. Open source Puppet, automatizovaný administračný modul pre vaše systémy Linux, Unix a Windows, vykonáva administratívne úlohy (ako je pridávanie používateľov, inštalácia balíkov a aktualizácia konfigurácií servera) na základe centralizovanej špecifikácie.

Puppet Enterprise pridáva funkcie orchestrácie, webovú konzolu a profesionálnu podporu k otvorenému zdroju Puppet. Pomáha vám rozšíriť a rozšíriť automatizáciu v rámci vašej infraštruktúry a zabezpečiť jej súlad. Puppet Discovery objavuje tradičnú infraštruktúru, natívne cloudové zdroje a kontajnery a umožňuje vám ich dostať pod správu.

Bábkové devopy

Puppet Pipelines je platforma na nepretržitú integráciu / nepretržité doručovanie, ktorá je k dispozícii ako hostená služba a lokálna inštalácia. Existujú dve samostatné verzie potrubí, pre aplikácie a pre kontajnery s Kubernetes.

Funkcia Bábkové úlohy bez agentov vám umožňuje vykonávať úlohy ad hoc, na rozdiel od automatizácie riadenej modelmi s agentmi. Úlohy majú dve príchute: otvorený zdroj Puppet Bolt a Puppet Enterprise Task Management. Bolt je určený pre menšie infraštruktúry, zatiaľ čo Enterprise Task Management, súčasť spoločnosti Puppet Enterprise, je určený pre rozsiahle infraštruktúry, ktoré si vyžadujú riadenie prístupu na základe rolí, záznamy auditu a tímové pracovné postupy.

Register bábkových kontajnerov (predtým Distelli Europa), ktorý sa dodáva v bezplatnej, prémiovej (alebo tímovej) a podnikovej verzii, poskytuje jednotný pohľad na miestne a vzdialené registre kontajnerov Docker. Prémiová verzia pridáva podporu viacerých používateľov a kontrolu prístupu; podniková verzia pridáva jednotné prihlásenie.

Puppet Forge

Puppet Forge je úložisko modulov pre open source Puppet a Puppet Enterprise. V súčasnosti obsahuje viac ako 5 500 vopred zostavených modulov. Niektoré moduly majú Bábkové úlohy, ale nie všetky. Niektoré moduly testuje a podporuje spoločnosť Puppet ako súčasť organizácie Puppet Enterprise a niektoré schvaľuje iba spoločnosť Puppet.

Každý modul má svoje vlastné predpoklady a postup inštalácie. Nepoviem „Tu buďte draci“, ale poviem, že inštalácia modulov je jednou z oblastí, kde sa Puppet ani nesnaží maskovať svoje korene ako nástroj pre sysadminy Linux / Unix, aj keď v súčasnosti funguje Windows celkom dobre. (okrem Majstra).

Bábkové podnikanie

Puppet Enterprise je zjednotená platforma, ktorá kombinuje prístup konfigurácie založený na modeloch s nevyhnutným vykonávaním úloh, takže môžete spravovať hybridnú infraštruktúru. Podporuje vývojové postupy, ako je kontrola verzií, kontrola kódu, automatické testovanie, nepretržitá integrácia a automatické nasadenie. Môžete tiež použiť Puppet na migráciu pracovných zaťažení do cloudu, kontajnerov a hybridného cloudu. Puppet vám umožňuje vynútiť požadovaný stav vašich konfigurácií, automaticky napraviť neočakávané zmeny a automatizovať úlohy ad hoc.

Puppet Enterprise pomáha znižovať riziká spojené s chybnými konfiguráciami zabezpečenia a neúspešnými auditmi neustálym presadzovaním vašich bezpečnostných politík a preukazovaním zhody. V zásade Puppet Master automaticky zasiela (tlačí) katalógy svojim klientom každú pol hodinu a agenti Puppet na klientoch potom porovnávajú tento katalóg s faktami o jeho existujúcej konfigurácii a v prípade potreby uplatňujú zmeny. Potom agenti vrátia hlavnému orgánu správu o stave, ktorá môže vygenerovať celkovú správu o súlade. Zabezpečenie a dodržiavanie súladu sú riešené ako súčasť správy základnej konfigurácie Puppet, nie ako samostatná súčasť.

Bábka v oblaku

Puppet Enterprise je integrovaný s poprednými poskytovateľmi cloudových služieb: Amazon, Microsoft, VMware a Google. Umožňuje vám zefektívniť správu výpočtových, úložných a sieťových zdrojov a škálovať pracovné zaťaženie v heterogénnych prostrediach. Funkčnosť sa väčšinou nachádzajú v moduloch špecifických pre cloud, napríklad modul puppetlabs / aws, ktorý poskytuje rozhranie k AWS API a umožňuje vám nielen inštancie poskytovania, ale aj popísať celú vašu AWS infraštruktúru a modelovať vzťahy medzi rôznymi komponenty.

Puppet Enterprise momentálne nepodporuje funkcie bez servera. Puppet Pipelines, ďalšia časť portfólia, je nástroj na správu životného cyklu vydania kódu vývojárskej aplikácie, ktorý môže obsahovať funkcie bez servera.

Súprava na vývoj bábok

Bábka umožňuje hlboký vlastný vývoj tým, že vám umožňuje písať vlastné moduly. Teraz ponúka vývojovú súpravu, ktorá uľahčuje generovanie nových modulov, a tiež umožňuje konverziu starých modulov tak, aby bola kompatibilná so súpravou Puppet Development Kit (PDK). Súčasťou PDK sú testovacie nástroje, kompletná šablóna modulu (ako súbory YAML, Ruby a vložené súbory Ruby) a nástroje príkazového riadku, ktoré vám pomôžu vytvárať, overovať a spúšťať testy na bábkových moduloch.

Inštalácia a nastavenie bábky

Existujú dva hlavné spôsoby skutočnej inštalácie Puppet Enterprise: pomocou AWS OpsWorks alebo stiahnutím a inštaláciou sami, lokálne alebo v jednej alebo viacerých cloudových inštanciách. (Správa až 10 uzlov je bezplatná.) Pred vyskúšaním niektorej z týchto inštalácií sa možno bude chcieť naučiť Puppet pomocou Puppet Learning VM alebo online emulátora Puppet zobrazeného nižšie.

Pomocou AWS OpsWorks pre Puppet Enterprise, riadenú službu, môžete mať plne nakonfigurovaný Puppet master v prevádzke na AWS za menej ako 20 minút. OpsWorks je dobrou voľbou pre malé tímy a obchody, ktoré nemôžu alebo nechcú spravovať svoju vlastnú infraštruktúru bábok.

Základné kroky na vytvorenie inštancie AWS OpsWorks pre Puppet Enterprise začínajú stiahnutím a inštaláciou klientských nástrojov AWS CLI, Git a Puppet Enterprise. Vytvorte kľúč SSH, nastavte účet GitHub pomocou kľúča SSH, prihláste sa do konzoly AWS, choďte do služby OpsWorks a kliknite na „Vytvoriť server Puppet Enterprise“. Pomenujte svoj server, vyberte región a vyberte typ inštancie c4.large. Na nasledujúcej stránke povedzte, že nepoužívate kľúč SSH (pre AWS - nemá to nič spoločné s kľúčom GitHub SSH), a poskytnite odkaz na svoje úložisko ovládacích prvkov GitHub. Prijmite predvolené nastavenia na stránke pokročilých nastavení, spustite inštanciu servera a pred dokončením inicializácie inštancie si stiahnite poverenia aj Starter Kit. Zvyšok, čo potrebujete, je v Starter Kit, ale v tomto okamihu už budete mať funkčného majstra, ktorý vynucuje svoju vlastnú konfiguráciu.

Inštalácia aplikácie Puppet Enterprise je oveľa dlhšia a komplikovanejšia operácia a umožňuje vám vykonať upgrade vždy, keď Puppet vydá novú verziu. Na druhej strane môžete využiť zdroje servera, ktoré už vlastníte.

Puppet Enterprise môžete nainštalovať pomocou webového alebo textového inštalátora na systémoch RHEL, Ubuntu LTS alebo Suse Linux po stiahnutí príslušného tarballu a kontrole jeho odtlačku prsta. Ak chcete získať odkaz, budete musieť uviesť svoj e-mail. Navrhoval by som začať s webovou mono inštaláciou (všetko na jednom uzle) a prijať všetky predvolené hodnoty. Inovovať môžete kedykoľvek neskôr. Väčšine problémov sa môžete vyhnúť, ak začnete s čerstvým obrazom systému Linux - nepomáhajte si, povedzme, inštaláciou PostgreSQL vopred.

Náklady: Open source Bábka: zadarmo. Bábkové podnikanie: 10 uzlov zadarmo, 120 dolárov / uzol / rok až 500 uzlov so štandardnou podporou. Puppet Discovery je momentálne v technickej ukážke. Bábkové potrubia: päť uzlov zadarmo, 29,99 USD / uzol / mesiac až 100 uzlov so štandardnou podporou.

Plošina: Majster: Red Hat, SUSE alebo Ubuntu Linux. Agenti: Linux, Windows Vista alebo novší, MacOS 10.10 alebo novší, Solaris 10 alebo 11. Cloud master je k dispozícii ako AWS OpsWorks pre Puppet Enterprise.

$config[zx-auto] not found$config[zx-overlay] not found