Programmering

Hvorfor bruke Puppet til automatisering og orkestrering

Marionett selskapet fakturerer Puppet automatiseringsverktøyet som de facto standard for automatisering av levering og løpende drift av hybrid infrastruktur. Det var absolutt sant på en gang: Puppet går ikke bare tilbake til 2005, men hevder for tiden også 40 000 organisasjoner over hele verden som brukere, inkludert 75 prosent av Fortune 100. Mens Puppet fortsatt er et veldig sterkt produkt og har økt hastigheten og evnene over I løpet av årene har konkurrentene, særlig Chef, redusert gapet.

Som du kanskje forventer fra doyenne til IT-automatiseringsområdet, har Puppet en veldig stor samling moduler, og dekker spekteret fra CI / CD til cloud-native infrastruktur, selv om mye av denne funksjonaliteten leveres gjennom tilleggsprodukter. Mens Puppet primært er et modellbasert system med agenter, støtter det push-operasjoner med Puppet Tasks. Puppet Enterprise er til og med tilgjengelig som en tjeneste på Amazon.

Marionettprodukter

Nåværende dukketilbud inkluderer åpen kildekode Puppet, Puppet Enterprise, Puppet Pipelines, Puppet Discovery, Puppet Bolt, Puppet Container Registry og Puppet Forge. Open source Puppet, en automatisert administrasjonsmotor for Linux-, Unix- og Windows-systemene, utfører administrative oppgaver (for eksempel å legge til brukere, installere pakker og oppdatere serverkonfigurasjoner) basert på en sentralisert spesifikasjon.

Puppet Enterprise legger til orkestrasjonsfunksjoner, en webkonsoll og profesjonell støtte til open source Puppet. Det hjelper deg med å skalere automatisering bredt og dypt på tvers av infrastrukturen og holde den kompatibel. Puppet Discovery oppdager tradisjonell infrastruktur, skyinnfødte ressurser og containere, og lar deg føre dem under administrasjon.

Marionett devops

Puppet Pipelines er en kontinuerlig integrasjons- / kontinuerlig leveringsplattform, tilgjengelig som vertstjeneste og lokal installasjon. Det finnes to separate versjoner av rørledninger, for applikasjoner og for containere med Kubernetes.

Den agentløse Puppet Tasks-funksjonen lar deg utføre ad hoc-oppgaver, i motsetning til modelldrevet automatisering med agenter. Oppgaver kommer i to smaker: åpen kildekode Puppet Bolt og Puppet Enterprise Task Management. Bolt er ment for mindre infrastrukturer, mens Enterprise Task Management, en komponent av Puppet Enterprise, er for store infrastrukturer som trenger rollebasert tilgangskontroll, revisjonsspor og teamorienterte arbeidsflyter.

Puppet Container Registry (tidligere Distelli Europa), som kommer i gratis, premium (eller team) og enterprise-versjoner, gir en samlet oversikt over lokale og eksterne registre for Docker-containere. Premium-versjonen legger til støtte for flere brukere og tilgangskontroll; bedriftsversjonen legger til enkelt pålogging.

Puppet Forge

Puppet Forge er et lager med moduler for åpen kildekode Puppet og Puppet Enterprise. Den inneholder for tiden over 5500 ferdigbygde moduler. Noen moduler har dukkeoppgaver, men ikke alle. Noen moduler er testet og støttet av Puppet som en del av Puppet Enterprise, og noen er bare godkjent av Puppet.

Hver modul har sine egne forutsetninger og installasjonsprosedyre. Jeg vil ikke si "Here be dragons", men jeg vil si at installering av moduler er et område der Puppet ikke en gang prøver å kamuflere røttene som et verktøy for Linux / Unix sysadmins, selv om det gjør Windows ganske bra i disse dager (unntatt som en mester).

Puppet Enterprise

Puppet Enterprise er en samlet plattform som kombinerer en modelldrevet konfigurasjonsmetode med tvingende oppgaveutførelse, slik at du kan administrere hybrid infrastruktur. Den støtter devops-fremgangsmåter som versjonskontroll, kodegjennomgang, automatisert testing, kontinuerlig integrering og automatisert distribusjon. Du kan også bruke Puppet til å migrere arbeidsmengder til sky, containere og hybridsky. Puppet lar deg håndheve ønsket tilstand for konfigurasjonene, automatisk rette opp uventede endringer og automatisere ad hoc-oppgaver.

Puppet Enterprise hjelper deg med å redusere risikoen forbundet med feilkonfigurasjoner og mislykkede revisjoner ved å kontinuerlig håndheve sikkerhetspolicyene dine og bevise samsvar. I utgangspunktet sender Puppet Master automatisk ut (presser) kataloger til sine klienter hver halvtime, og Puppet-agenter på klientene sammenligner deretter katalogen med fakta om den eksisterende konfigurasjonen og bruker endringer om nødvendig. Deretter returnerer agentene en statusrapport til mesteren, som kan generere en samlet samsvarsrapport. Sikkerhet og overholdelse håndteres som en del av Puppets kjernekonfigurasjonsadministrasjon, ikke i en egen komponent.

Marionett i skyen

Puppet Enterprise er integrert med de ledende skytjenesteleverandørene: Amazon, Microsoft, VMware og Google. Den lar deg strømlinjeforme administrasjonen av beregnings-, lagrings- og nettverksressurser og skalere arbeidsbelastninger over heterogene miljøer. Funksjonaliteten finnes hovedsakelig i sky-spesifikke moduler, for eksempel puppetlabs / aws-modulen, som gir et grensesnitt til AWS API og lar deg ikke bare sørge for forekomster, men også å beskrive hele AWS-infrastrukturen og modellere forholdet mellom forskjellige komponenter.

Puppet Enterprise støtter foreløpig ikke serverløse funksjoner. Puppet Pipelines, en annen del av porteføljen, er et verktøy for å administrere utgivelsessyklusen til utvikler-appkoden, som kan omfatte serverløse funksjoner.

Puppet Development Kit

Puppet muliggjør dyp tilpasset utvikling ved å la deg skrive dine egne moduler. Det tilbyr nå et utviklingssett som gjør det enkelt å generere nye moduler, og gjør det også mulig å konvertere gamle moduler for å være kompatible med Puppet Development Kit (PDK). PDK inkluderer testverktøy, en komplett modulmal (som YAML, Ruby og innebygde Ruby-filer) og kommandolinjeverktøy som hjelper deg med å lage, validere og kjøre tester på Puppet-moduler.

Dukkeinstallasjon og oppsett

Det er to hovedmåter å faktisk installere Puppet Enterprise på: bruke AWS OpsWorks, eller ved å laste ned og installere det selv, enten lokalt eller i en eller flere skyforekomster. (Administrasjon av opptil 10 noder er gratis.) Før du prøver noen av disse installasjonene, kan det være lurt å lære Puppet med Puppet Learning VM eller online Puppet emulator vist nedenfor.

Ved å bruke AWS OpsWorks for Puppet Enterprise, en administrert tjeneste, kan du ha en fullstendig konfigurert Puppet master oppe og kjører på AWS på mindre enn 20 minutter. OpsWorks er et godt valg for små lag og butikker som ikke kan eller ikke vil administrere sin egen Puppet-infrastruktur.

De grunnleggende trinnene for å lage en AWS OpsWorks for Puppet Enterprise-forekomst starter med nedlasting og installering av AWS CLI, Git og Puppet Enterprise-klientverktøyene. Opprett en SSH-nøkkel, sett opp en GitHub-konto ved hjelp av SSH-nøkkelen, logg på AWS-konsollen, gå til OpsWorks-tjenesten og klikk på "Opprett Puppet Enterprise-server." Gi serveren et kort navn, velg en region og velg typen c4.large. På den neste siden, si at du ikke bruker en SSH-nøkkel (for AWS - dette har ingenting å gjøre med GitHub SSH-nøkkelen), og gi en lenke til GitHub-kontrollmagasinet ditt. Godta standardene på siden for avanserte innstillinger, start serverforekomsten og last ned både legitimasjonen og startpakken før forekomsten er ferdig med initialiseringen. Resten av det du trenger er i Starter Kit, men på dette tidspunktet har du allerede en fungerende Master som håndhever sin egen konfigurasjon.

Å installere Puppet Enterprise selv er en mye lengre og mer komplisert operasjon, og setter deg i stand til å gjøre en oppgradering når Puppet slipper en ny versjon. På den annen side kan du dra nytte av serverressursene du allerede eier.

Du kan installere Puppet Enterprise med et nettbasert eller tekstbasert installasjonsprogram på et RHEL-, Ubuntu LTS- eller Suse Linux-system, etter at du har lastet ned riktig tarball og sjekket fingeravtrykket. Du må oppgi e-postmeldingen din for å få lenken. Jeg foreslår at du starter med en nettbasert mono (alt på en node) installasjon og tar alle standardinnstillingene. Du kan alltid oppgradere senere. Du kan unngå de fleste problemer hvis du starter med et nytt Linux-systembilde - ikke "hjelp" ved å si å installere PostgreSQL på forhånd.

Koste: Open source Puppet: gratis. Puppet Enterprise: 10 noder gratis, $ 120 / node / år opp til 500 noder med standardstøtte. Puppet Discovery er for øyeblikket i teknisk forhåndsvisning. Puppet Pipelines: fem noder gratis, $ 29,99 / node / måned opptil 100 noder med standardstøtte.

Plattform: Master: Red Hat, SUSE eller Ubuntu Linux. Agenter: Linux, Windows Vista eller nyere, MacOS 10.10 eller nyere, Solaris 10 eller 11. Cloud master tilgjengelig som AWS OpsWorks for Puppet Enterprise.

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