Programmering

Hvorfor bruge Puppet til automatisering og orkestrering

Marionet, som virksomheden fakturerer Puppet, automatiseringsværktøjet som de facto standard til automatisering af levering og løbende drift af hybrid infrastruktur. Det var bestemt sandt på én gang: Puppet går ikke kun tilbage til 2005, men hævder i øjeblikket 40.000 organisationer over hele verden som brugere, inklusive 75 procent af Fortune 100. Mens Puppet stadig er et meget stærkt produkt og har øget sin hastighed og kapacitet over I årenes løb har konkurrenterne, især kokken, mindsket kløften.

Som du måske forventer af doyenne i it-automatiseringsrummet, har Puppet en meget stor samling af moduler og dækker farveskalaen fra CI / CD til cloud-native infrastruktur, selvom meget af denne funktionalitet leveres gennem yderligere produkter. Mens Puppet primært er et modelbaseret system med agenter, understøtter det push-operationer med Puppet Tasks. Puppet Enterprise er endda tilgængelig som en tjeneste på Amazon.

Marionetprodukter

Aktuelle dukketilbud inkluderer open source Puppet, Puppet Enterprise, Puppet Pipelines, Puppet Discovery, Puppet Bolt, Puppet Container Registry og Puppet Forge. Open source Puppet, en automatiseret administrationsmotor til dine Linux-, Unix- og Windows-systemer, udfører administrative opgaver (såsom tilføjelse af brugere, installation af pakker og opdatering af serverkonfigurationer) baseret på en central specifikation.

Puppet Enterprise tilføjer orkestreringsfunktioner, en webkonsol og professionel support til open source Puppet. Det hjælper dig med at skalere automatisering bredt og dybt på tværs af din infrastruktur og holde den kompatibel. Puppet Discovery opdager traditionel infrastruktur, cloud-native ressourcer og containere og lader dig bringe dem under ledelse.

Marionet hænger

Puppet Pipelines er en kontinuerlig integrations- / kontinuerlig leveringsplatform, tilgængelig som hostet service og installation på stedet. Der findes to separate versioner af rørledninger til applikationer og til containere med Kubernetes.

Den agentløse Puppet Tasks-funktion giver dig mulighed for at udføre ad hoc-opgaver i modsætning til modeldrevet automatisering med agenter. Opgaver kommer i to varianter: open source Puppet Bolt og Puppet Enterprise Task Management. Bolt er beregnet til mindre infrastrukturer, mens Enterprise Task Management, en komponent i Puppet Enterprise, er til store infrastrukturer, der har brug for rollebaseret adgangskontrol, revisionsspor og teamorienterede arbejdsgange.

Puppet Container Registry (tidligere Distelli Europa), der kommer i gratis, premium (eller team) og enterprise-versioner, giver en samlet visning af lokale og eksterne registre til Docker-containere. Premium-versionen tilføjer support til flere brugere og adgangskontrol; virksomhedsversionen tilføjer single sign-on.

Puppet Forge

Puppet Forge er et lager af moduler til open source Puppet og Puppet Enterprise. Den indeholder i øjeblikket over 5.500 forudbyggede moduler. Nogle moduler har dukkeopgaver, men ikke alle. Nogle moduler er testet og understøttet af Puppet som en del af Puppet Enterprise, og andre er kun godkendt af Puppet.

Hvert modul har sine egne forudsætninger og installationsprocedure. Jeg vil ikke sige "Here be dragons", men jeg vil sige, at installation af moduler er et område, hvor Puppet ikke engang forsøger at camouflere sine rødder som et værktøj til Linux / Unix sysadmins, selvom det gør Windows temmelig godt i disse dage (undtagen som en mester).

Marionetvirksomhed

Puppet Enterprise er en samlet platform, der kombinerer en modeldrevet konfigurationsmetode med tvingende opgaveudførelse, så du kan styre hybrid infrastruktur. Det understøtter devops praksis såsom versionskontrol, kodegennemgang, automatiseret test, kontinuerlig integration og automatiseret implementering. Du kan også bruge Puppet til at migrere arbejdsbelastninger til cloud, containere og hybrid cloud. Puppet giver dig mulighed for at håndhæve den ønskede tilstand af dine konfigurationer, automatisk afhjælpe eventuelle uventede ændringer og automatisere ad hoc-opgaver.

Puppet Enterprise hjælper med at reducere risiciene forbundet med fejlkonfigurationer og mislykkede revisioner ved løbende at håndhæve dine sikkerhedspolitikker og bevise overholdelse. Grundlæggende sender Puppet Master automatisk (skubber) kataloger til sine klienter hver halve time, og Puppet-agenterne på klienterne sammenligner derefter kataloget med fakta om dets eksisterende konfiguration og anvender ændringer, hvis det er nødvendigt. Derefter returnerer agenterne en statusrapport til masteren, som kan generere en samlet overholdelsesrapport. Sikkerhed og overholdelse håndteres som en del af Puppets kernekonfigurationsstyring, ikke i en separat komponent.

Marionet i skyen

Puppet Enterprise er integreret med de førende cloud-tjenesteudbydere: Amazon, Microsoft, VMware og Google. Det giver dig mulighed for at strømline styringen af ​​beregnings-, lager- og netværksressourcer og skalere arbejdsbelastninger på tværs af heterogene miljøer. Funktionaliteten findes for det meste i sky-specifikke moduler, for eksempel puppetlabs / aws-modulet, som giver en grænseflade til AWS API og giver dig ikke kun mulighed for tilvejebringelse af forekomster, men også til at beskrive hele din AWS-infrastruktur og til at modellere forholdet mellem forskellige komponenter.

Puppet Enterprise understøtter i øjeblikket ikke serverløse funktioner. Puppet Pipelines, en anden del af porteføljen, er et værktøj til styring af frigivelsens livscyklus for udvikler-app-kode, som kan omfatte serverløse funktioner.

Marionetudviklingssæt

Puppet muliggør dyb brugerdefineret udvikling ved at lade dig skrive dine egne moduler. Det tilbyder nu et udviklingssæt, der gør det lettere at generere nye moduler, og gør det også muligt at konvertere gamle moduler til at være kompatible med Puppet Development Kit (PDK). PDK inkluderer testværktøjer, en komplet modulskabelon (som YAML, Ruby og integrerede Ruby-filer) og kommandolinjeværktøjer, der hjælper dig med at oprette, validere og køre tests på Puppet-moduler.

Marionetinstallation og opsætning

Der er to hovedmåder til faktisk at installere Puppet Enterprise: ved hjælp af AWS OpsWorks eller ved at downloade og installere det selv enten lokalt eller i en eller flere skyinstanser. (Administration af op til 10 noder er gratis.) Inden du prøver en af ​​disse installationer, vil du måske lære Puppet med Puppet Learning VM eller online Puppet emulator vist nedenfor.

Ved hjælp af AWS OpsWorks for Puppet Enterprise, en administreret tjeneste, kan du have en fuldt konfigureret Puppet-master i gang på AWS på mindre end 20 minutter. OpsWorks er et godt valg for små hold og butikker, der ikke kan eller ikke vil styre deres egen Puppet-infrastruktur.

De grundlæggende trin til oprettelse af en AWS OpsWorks for Puppet Enterprise-forekomst starter med at downloade og installere AWS CLI, Git og Puppet Enterprise-klientværktøjerne. Opret en SSH-nøgle, opret en GitHub-konto ved hjælp af SSH-nøglen, log ind på AWS-konsollen, gå til OpsWorks-tjenesten og klik på "Opret Puppet Enterprise-server." Giv din server et kort navn, vælg en region, og vælg typen c4.large-forekomst. På den næste side skal du sige, at du ikke bruger en SSH-nøgle (for AWS - dette har intet at gøre med GitHub SSH-nøglen), og angiv et link til dit GitHub-kontrollager. Accepter standardindstillingerne på siden med avancerede indstillinger, start din serverforekomst, og download både legitimationsoplysningerne og Starter Kit, før instansen er afsluttet med initialiseringen. Resten af ​​hvad du har brug for er i Starter Kit, men på dette tidspunkt har du allerede en fungerende Master, der håndhæver sin egen konfiguration.

Installation af Puppet Enterprise selv er en meget længere og mere kompliceret operation og indstiller dig til at udføre en opgradering, når Puppet frigiver en ny version. På den anden side kan du drage fordel af de serverressourcer, du allerede ejer.

Du kan installere Puppet Enterprise med et webbaseret eller tekstbaseret installationsprogram på et RHEL-, Ubuntu LTS- eller Suse Linux-system efter download af den passende tarball og kontrol af dets fingeraftryk. Du bliver nødt til at angive din e-mail for at få linket. Jeg vil foreslå at starte med en webbaseret mono (alt på en node) installation og tage alle standardindstillingerne. Du kan altid opgradere senere. Du kan undgå de fleste problemer, hvis du starter med et nyt Linux-systembillede - ikke "hjælp" ved f.eks. At installere PostgreSQL på forhånd.

Koste: Open source Puppet: gratis. Puppet Enterprise: 10 noder gratis, $ 120 / node / år op til 500 noder med standardunderstøttelse. Puppet Discovery er i øjeblikket i teknisk forhåndsvisning. Puppet Pipelines: fem noder gratis, $ 29,99 / node / måned op til 100 noder med standard support.

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