Programování

Proč používat Puppet pro automatizaci a orchestraci

Společnost Puppet účtuje společnosti Puppet automatizační nástroj jako de facto standard pro automatizaci dodávek a nepřetržitého provozu hybridní infrastruktury. To jistě platilo najednou: Puppet se vrací nejen do roku 2005, ale v současné době si jako uživatele nárokuje 40 000 organizací po celém světě, včetně 75 procent z žebříčku Fortune 100. Zatímco Puppet je stále velmi silným produktem a oproti minulému roku zvýšil svoji rychlost a schopnosti roky jeho konkurenti, zejména šéfkuchař, tento rozdíl zmenšili.

Jak můžete očekávat od doyenne prostoru automatizace IT, Puppet má velmi velkou sbírku modulů a pokrývá rozsah od CI / CD po cloudovou nativní infrastrukturu, ačkoli velká část této funkce je poskytována prostřednictvím dalších produktů. Zatímco Puppet je primárně systém založený na modelech s agenty, podporuje operace push s Puppet Tasks. Puppet Enterprise je dokonce k dispozici jako služba na Amazonu.

Loutkové výrobky

Aktuální nabídky loutek zahrnují loutkové hry jako open source, Puppet Enterprise, Puppet Pipelines, Puppet Discovery, Puppet Bolt, Puppet Container Registry a Puppet Forge. Open source Puppet, automatizovaný administrační modul pro vaše systémy Linux, Unix a Windows, provádí administrativní úkoly (jako je přidávání uživatelů, instalace balíčků a aktualizace konfigurací serveru) na základě centralizované specifikace.

Puppet Enterprise přidává funkce orchestrace, webovou konzolu a profesionální podporu pro open source Puppet. Pomůže vám rozšířit a rozšířit automatizaci napříč vaší infrastrukturou a zajistit její kompatibilitu. Puppet Discovery objevuje tradiční infrastrukturu, cloudové nativní zdroje a kontejnery a umožňuje vám je přenést pod správu.

Loutkové devops

Puppet Pipelines je platforma pro nepřetržitou integraci / nepřetržité doručování, která je k dispozici jako hostovaná služba a místní instalace. Existují dvě samostatné verze kanálů, pro aplikace a pro kontejnery s Kubernetes.

Funkce Puppet Tasks bez agentů vám umožňuje provádět úlohy ad hoc, na rozdíl od automatizace založené na modelu s agenty. Úkoly mají dvě příchutě: otevřený zdroj Puppet Bolt a Puppet Enterprise Task Management. Bolt je určen pro menší infrastruktury, zatímco Enterprise Task Management, součást Puppet Enterprise, je pro rozsáhlé infrastruktury, které vyžadují řízení přístupu na základě rolí, záznamy o auditu a týmové pracovní postupy.

Loutkový kontejnerový registr (dříve Distelli Europa), který je k dispozici ve verzi zdarma, prémiové (nebo týmové) a podnikové, poskytuje jednotný pohled na místní a vzdálené registry kontejnerů Docker. Prémiová verze přidává podporu více uživatelů a kontrolu přístupu; podniková verze přidává jednotné přihlášení.

Loutková kovárna

Puppet Forge je úložiště modulů pro open source Puppet a Puppet Enterprise. V současné době obsahuje více než 5 500 předem připravených modulů. Některé moduly mají loutkové úkoly, ale ne všechny. Některé moduly jsou testovány a podporovány společností Puppet jako součást Puppet Enterprise a některé jsou schváleny pouze společností Puppet.

Každý modul má své vlastní předpoklady a postup instalace. Nebudu říkat „Tady buďte draci“, ale řeknu, že instalace modulů je jednou z oblastí, kde se Puppet ani nepokouší maskovat své kořeny jako nástroj pro sysadminy Linux / Unix, i když v dnešní době funguje Windows docela dobře (kromě mistra).

Loutkové podnikání

Puppet Enterprise je jednotná platforma, která kombinuje přístup založený na modelování konfigurace s imperativním prováděním úkolů, takže můžete spravovat hybridní infrastrukturu. Podporuje postupy devops, jako je řízení verzí, kontrola kódu, automatizované testování, nepřetržitá integrace a automatické nasazení. Puppet můžete také použít k migraci úloh do cloudu, kontejnerů a hybridního cloudu. Loutka vám umožňuje vynutit požadovaný stav vašich konfigurací, automaticky napravit neočekávané změny a automatizovat úkoly ad hoc.

Puppet Enterprise pomáhá snižovat rizika spojená s chybnými konfiguracemi zabezpečení a neúspěšnými audity neustálým prosazováním zásad zabezpečení a prokazováním souladu. V zásadě loutkář automaticky zasílá (tlačí) katalogy svým klientům každou půl hodinu a agenti loutek na klientech poté porovnávají tento katalog s fakty o jeho existující konfiguraci a v případě potřeby provedou změny. Potom agenti vrátí hlavní zprávu o stavu, která může vygenerovat celkovou zprávu o shodě. Zabezpečení a dodržování předpisů jsou zpracovávány jako součást správy základní konfigurace Puppet, nikoli jako samostatná součást.

Loutka v oblaku

Puppet Enterprise je integrován s předními poskytovateli cloudových služeb: Amazon, Microsoft, VMware a Google. Umožňuje vám zefektivnit správu výpočetních, úložných a síťových prostředků a škálovat pracovní zátěže v heterogenních prostředích. Funkčnost se většinou nachází v modulech specifických pro cloud, například v modulu puppetlabs / aws, který poskytuje rozhraní k API AWS a umožňuje nejen instance zřizování, ale také popsat celou infrastrukturu AWS a modelovat vztahy mezi různými komponenty.

Puppet Enterprise aktuálně nepodporuje funkce bez serveru. Puppet Pipelines, další část portfolia, je nástroj pro správu životního cyklu vydání kódu vývojářské aplikace, který může zahrnovat funkce bez serveru.

Sada pro vývoj loutek

Loutka umožňuje hluboký vlastní vývoj tím, že vám umožní psát vlastní moduly. Nyní nabízí vývojovou sadu, která usnadňuje generování nových modulů, a také umožňuje převod starých modulů na kompatibilitu s Puppet Development Kit (PDK). PDK obsahuje testovací nástroje, kompletní šablonu modulu (jako YAML, Ruby a vložené soubory Ruby) a nástroje příkazového řádku, které vám pomohou vytvářet, ověřovat a spouštět testy na loutkových modulech.

Instalace a nastavení loutek

Existují dva hlavní způsoby skutečné instalace Puppet Enterprise: pomocí AWS OpsWorks, nebo stažením a instalací sami lokálně nebo v jedné nebo více cloudových instancích. (Správa až 10 uzlů je zdarma.) Než vyzkoušíte některou z těchto instalací, možná budete chtít naučit Puppet pomocí Puppet Learning VM nebo online emulátoru loutek zobrazeného níže.

Pomocí AWS OpsWorks pro Puppet Enterprise, spravovanou službu, můžete mít plně nakonfigurovaný Puppet master spuštěný na AWS za méně než 20 minut. OpsWorks je dobrou volbou pro malé týmy a obchody, které nemohou nebo nechtějí spravovat svou vlastní loutkovou infrastrukturu.

Základní kroky pro vytvoření instance AWS OpsWorks pro Puppet Enterprise začínají stahováním a instalací klientských nástrojů AWS CLI, Git a Puppet Enterprise. Vytvořte klíč SSH, nastavte účet GitHub pomocí klíče SSH, přihlaste se do konzoly AWS, přejděte do služby OpsWorks a klikněte na „Vytvořit server Puppet Enterprise“. Pojmenujte svůj server krátkým názvem, vyberte oblast a vyberte typ instance c4.large. Na další stránce řekněte, že nepoužíváte klíč SSH (pro AWS - to nemá nic společného s klíčem GitHub SSH), a poskytněte odkaz na své úložiště kontrol GitHub. Přijměte výchozí nastavení na stránce pokročilých nastavení, spusťte instanci serveru a stáhněte pověření i Starter Kit, než instance dokončí inicializaci. Zbytek toho, co potřebujete, je ve Starter Kit, ale v tomto okamžiku již budete mít fungujícího Master, který vynucuje svou vlastní konfiguraci.

Samotná instalace Puppet Enterprise je mnohem delší a komplikovanější operace a umožňuje vám provést upgrade, kdykoli Puppet vydá novou verzi. Na druhou stranu můžete využít prostředky serveru, které již vlastníte.

Puppet Enterprise můžete nainstalovat pomocí webového nebo textového instalátoru na systém RHEL, Ubuntu LTS nebo Suse Linux, po stažení příslušného tarballu a kontrole jeho otisku prstu. Pro získání odkazu budete muset zadat svůj e-mail. Navrhoval bych začít s webovou mono instalací (vše na jednom uzlu) a převzít všechna výchozí nastavení. Upgrade můžete kdykoli provést později. Většině problémů se můžete vyhnout, pokud začnete s čerstvým obrazem systému Linux - „nepomáhejte“ například instalací PostgreSQL předem.

Náklady: Open source Loutka: zdarma. Puppet Enterprise: 10 uzlů zdarma, 120 $ / uzel / rok až 500 uzlů se standardní podporou. Puppet Discovery je aktuálně v technickém náhledu. Loutkové kanály: pět uzlů zdarma, 29,99 $ / uzel / měsíc až 100 uzlů se standardní podporou.

Plošina: Mistr: Red Hat, SUSE nebo Ubuntu Linux. Agenti: Linux, Windows Vista nebo novější, MacOS 10.10 nebo novější, Solaris 10 nebo 11. Cloud master k dispozici jako AWS OpsWorks pro Puppet Enterprise.