Sådan installeres Puppet 6 på Ubuntu 18?

Lær, hvordan du installerer en Puppet-server & agent og konfigureret, så de taler med hinanden.


Puppet er et af de mest virksomhedsanvendte konfigurationsstyringsværktøjer i DevOps verden. Som DevOps-ingeniør skal du vide, hvordan du opretter en marionet på dit system.

Men før vi begynder, så lad mig fortælle dig, at installation af en marionet overhovedet ikke er en let opgave. Hvis du går glip af et enkelt trin, eller hvis du ændrer strømmen af ​​trin, der er nævnt i denne tutorial, selv på et sted, kan du muligvis ridse dit hoved hele dagen med en masse fejl, men din opsætning ville være ufuldstændig. Så følg hvert trin meget omhyggeligt.

Marionet har klient-serverarkitektur, der består af en marionetmaster (server) og marionetagenter (klient). Puppet Master har alle konfigurationer, og den kompilerer og leverer konfigurationerne til marionetagenter. Puppet Agents sender fakta til marionetmaster, der anmoder om kataloger i intervaller. Puppet Master sender bagsiden af ​​det ønskede katalog til dukkeagenten. Puppet Agent anvender derefter det katalog på noden og rapporterer tilbage til masteren.

Nu hvor du har en grundlæggende forståelse af Puppet, lad os komme i gang og oprette en Puppet Master og Puppet Agent.

Hvis du er en absolut begynder, kan du tænke dig at tage dette online videokursus.

Miljøoplysninger

Jeg bruger 2 Ubuntu 18.04 maskiner. Den ene vil fungere som en marionetmester og den anden som en marionetagent. Nedenfor er detaljerne om maskinerne:

Puppet Master (Server)

  • Værtsnavn: marionet, marionet.geekflate.com
  • IP-adresse: 192.168.0.108

Puppet Agent (klient)

  • Værtsnavn: puppetagent
  • Ip-adresse: 192.168.0.107

Installation af Puppet Server

Inden jeg begynder installationen, skal jeg redigere filen / etc / hosts på både master og agent, så de kan løse hinanden.

På Master-noden

[Email protected]: ~ $ sudo gedit / etc / hosts

[sudo] adgangskode til geekflare:

127.0.0.1 localhost
127.0.1.1 geekflare
192.168.0.108 marionet marionet.geekflare.com

På agentnode

[Email protected]: ~ $ sudo gedit / etc / hosts

127.0.0.1 localhost
127.0.1.1 geekflare
192.168.0.107 puppetagent
192.168.0.108 marionet marionet.geekflare.com

Nu skal jeg hente et marionetlager på min hovednode og opdatere det.

Download dukkens opbevaring.

[Email protected]: ~ $ wget https://apt.puppetlabs.com/puppet6-release-bionic.deb

–2019-10-15 15: 41: 34– https://apt.puppetlabs.com/puppet6-release-bionic.deb

Løsning apt.puppetlabs.com (apt.puppetlabs.com) … 99.86.19.107, 99.86.19.59, 99.86.19.2, …

Opretter forbindelse til apt.puppetlabs.com (apt.puppetlabs.com) | 99.86.19.107 |: 443 … tilsluttet.

HTTP-anmodning sendt, afventer svar … 200 OK

Længde: 11736 (11K) [applikation / x-debian-pakke]

Gemmer på: ‘puppet6-release-bionic.deb’

puppet6-release-bio 100% [===================>] 11,46K – .- KB / s i 0s

2019-10-15 15:41:34 (236 MB / s) – ‘puppet6-release-bionic.deb’ gemt [11736/11736]

Tilføj og konfigurer marionet 6-repo.

[Email protected]: ~ $ sudo dpkg -i puppet6-release-bionic.deb

Valg af tidligere ikke-valgt pakkedukker6-frigivelse.

(Læser database … 187041 filer og mapper, der i øjeblikket er installeret.)

Forberedelse på at pakke ud puppet6-release-bionic.deb …

Udpakning af puppet6-frigivelse (6.0.0-5bionic) …

Opsætning af puppet6-frigivelse (6.0.0-5bionic) …

Opdater depotlisten.

[Email protected]: ~ $ sudo apt opdatering

Hit: 1 https://download.docker.com/linux/ubuntu bionic InRelease

Hit: 2 http://security.ubuntu.com/ubuntu kosmisk sikkerhed InRelease

Hit: 3 http://ppa.launchpad.net/ansible/ansible/ubuntu kosmisk InRelease

Hent: 4 http://download.virtualbox.org/virtualbox/debian kosmisk InRelease [4.429 B]

Hent: 5 http://apt.puppetlabs.com bionic InRelease [85,3 kB]

Hit: 6 http://us.archive.ubuntu.com/ubuntu kosmisk InRelease

Hit: 7 http://us.archive.ubuntu.com/ubuntu kosmisk-opdateringer InRelease

Hent: 8 http://download.virtualbox.org/virtualbox/debian kosmic / contrib amd64 Packages [1.466 B]

Hent: 9 http://apt.puppetlabs.com bionic / puppet6 alle pakker [13,5 kB]

Hit: 10 http://us.archive.ubuntu.com/ubuntu cosmic-backports InRelease

Hent: 11 http://apt.puppetlabs.com bionic / puppet6 i386-pakker [13,5 kB]

Hent: 12 http://apt.puppetlabs.com bionic / puppet6 amd64-pakker [32,3 kB]

Hentet 151 kB i 2s (61,9 kB / s)

Læse pakkelister … Udført

Bygning afhængighed træ

Læser information om staten … Udført

234 pakker kan opgraderes. Kør ‘apt list – upgradable’ for at se dem.

Installation af Puppet Server

Lad os køre kommandoen nedenfor på masternoden for at installere marionetserveren på den.

[Email protected]: ~ $ sudo apt install -y puppetserver

Læse pakkelister … Udført

Bygning afhængighed træ

Læser information om staten … Udført

Følgende yderligere pakker installeres:

ca-certifikater-java java-fælles openjdk-8-jre-hovedløs marionet-agent

Foreslåede pakker:

standard-jre-skrifttyper-dejavu-ekstra skrifttyper-ipafont-gotiske skrifttyper-ipafont-mincho

skrifttyper-wqy-microhei-skrifttyper-wqy-zenhei

Følgende NYE pakker bliver installeret:

ca-certifikater-java java-fælles openjdk-8-jre-hovedløs marionet-agent

puppetserver

0 opgraderet, 5 nyligt installeret, 0 til at fjerne og 234 ikke opgraderet.

Brug for at få 109 MB arkiver.

Efter denne operation vil 287 MB ekstra diskplads blive brugt.

Hent: 1 http://us.archive.ubuntu.com/ubuntu kosmisk / main amd64 java-common alle 0.68ubuntu1 [6.988 B]

Hent: 2 http://apt.puppetlabs.com bionic / puppet6 amd64 marionet-agent amd64 6.10.1-1bionic [19.9 MB]

Hent: 3 http://us.archive.ubuntu.com/ubuntu cosmic-updates / univers amd64 openjdk-8-jre-headless amd64 8u212-b03-0ubuntu1.18.10.1 [27.2 MB]

Hent: 4 http://apt.puppetlabs.com bionic / puppet6 amd64 puppetserver alle 6.7.1-1bionic [61.5 MB]

Hent: 5 http://us.archive.ubuntu.com/ubuntu kosmisk / main amd64 ca-certifikater-java alle 20180516ubuntu1 [12,3 kB]

Hentet 109 MB i 1min 41s (1.072 kB / s)

Udpakning af puppetserver (6.7.1-1bionic) …

Opsætning af marionet-agent (6.10.1-1bionic) …

Oprettet symlink /etc/systemd/system/multi-user.target.wants/puppet.service → /lib/systemd/system/puppet.service.

Oprettet symlink /etc/systemd/system/multi-user.target.wants/pxp-agent.service → /lib/systemd/system/pxp-agent.service.

Fjernet /etc/systemd/system/multi-user.target.wants/pxp-agent.service.

Opsætning af java-common (0.68ubuntu1) …

Behandler triggere til libc-bin (2.28-0ubuntu1) …

Behandler triggere til systemd (239-7ubuntu10.12) …

Behandling af triggere til man-db (2.8.4-2) …

Behandling af triggere til ca-certifikater (20180409) …

Opdatering af certifikater i / etc / ssl / certs…

0 tilføjet, 0 fjernet; Færdig.

Løbskroge i /etc/ca-certificates/update.d…

Færdig.

Opsætning af ca-certifikater-java (20180516ubuntu1) …

hoved: kan ikke åbne ‘/ etc / ssl / certs / java / cacerts’ til læsning: Ingen sådan fil eller bibliotek

Tilføjelse af debian: SSL.com_EV_Root_Certification_Authority_ECC.pem

Tilføjelse af debian: ssl-cert-snakeoil.pem

Tilføjelse af debian: SwissSign_Gold_CA _-_ G2.pem

Tilføjelse af debian: SZAFIR_ROOT_CA2.pem

Tilføjelse af debian: OpenTrust_Root_CA_G3.pem

Tilføjelse af debian: TWCA_Root_Certification_Authority.pem

Tilføjelse af debian: QuoVadis_Root_CA_2_G3.pem

Tilføjelse af debian: DST_Root_CA_X3.pem

Tilføjelse af debian: SecureSign_RootCA11.pem

Tilføjelse af debian: QuoVadis_Root_CA_1_G3.pem

Tilføjelse af debian: T-TeleSec_GlobalRoot_Class_3.pem

Tilføjelse af debian: Go_Daddy_Root_Certificate_Authority _-_ G2.pem

Tilføjelse af debian: Actalis_Authentication_Root_CA.pem

Tilføjelse af debian: Chambers_of_Commerce_Root _-_ 2008.pem

Færdig.

Behandling af triggere til ca-certifikater (20180409) …

Opdatering af certifikater i / etc / ssl / certs…

0 tilføjet, 0 fjernet; Færdig.

Løbskroge i /etc/ca-certificates/update.d…

Færdig.

Færdig.

Opsætning af openjdk-8-jre-headless: amd64 (8u212-b03-0ubuntu1.18.10.1) …

Opsætning af puppetserver (6.7.1-1bionic) …

usermod: ingen ændringer

Behandler triggere til systemd (239-7ubuntu10.12) …

Konfigurering af Puppet Server

 Rediger puppetserver-filen, som vist nedenfor. Dette til at konfigurere JVM på dukketjeneren.

[Email protected]: ~ $ sudo gedit / etc / default / puppetserver

# Rediger dette, hvis du vil ændre hukommelsesallokering, aktiver JMX osv

JAVA_ARGS ="-Xms512m -Xmx512m -Djruby.logger.class = com.puppetlabs.jruby_utils.jruby.Slf4jLogger"

 Rediger marionetkonfigurationsfil for at ændre marionettserverindstillinger.

[Email protected]: ~ $ sudo gedit /etc/puppetlabs/puppet/puppet.conf

# Denne fil kan bruges til at tilsidesætte standard marionetindstillingerne.

# Se de følgende links for flere detaljer om, hvilke indstillinger der er tilgængelige:

# – https://puppet.com/docs/puppet/latest/config_important_settings.html

# – https://puppet.com/docs/puppet/latest/config_about_settings.html

# – https://puppet.com/docs/puppet/latest/config_file_main.html

# – https://puppet.com/docs/puppet/latest/configuration.html

[mestre]

vardir = / opt / puppetlabs / server / data / puppetserver

logdir = / var / log / puppetlabs / puppetserver

rundir = / var / run / puppetlabs / puppetserver

pidfile = /var/run/puppetlabs/puppetserver/puppetserver.pid

codedir = / etc / puppetlabs / code

dns_alt_names = marionet, marionet.geekflare.com

[Main]

certname = puppet.geekflare.com

server = puppet.geekflare.com

miljø = produktion

runinterval = 15m

Puppet Server er nødt til at generere en rod- og mellemliggende signatur, CA.

[Email protected]: ~ $ sudo / opt / puppetlabs / bin / puppetserver ca opsætning

Generationen lykkedes. Find dine filer i / etc / marionet / marionet / ssl / ca

 Start og aktiver puppet-servertjenesten.

[Email protected]: ~ $ sudo systemctl startdukkererver

[Email protected]: ~ $ sudo systemctl aktivere dukketelefonserver

Synkronisering af puppetserver.service-tilstand med SysV-servicescript med / lib / systemd / systemd-sysv-install.

Udfører: / lib / systemd / systemd-sysv-install enable puppetserver

Installation af Puppet Agent

Følg nedenstående trin på agentnoden, som du gjorde for hovedsystemet. Puppet repository skal præsenteres på alle agentknudepunkter.

[Email protected]: ~ $ wget https://apt.puppetlabs.com/puppet6-release-bionic.deb

[Email protected]: ~ $ sudo dpkg -i puppet6-release-bionic.deb

[Email protected]: ~ $ sudo apt opdatering

Kør kommandoen nedenfor på agentnoden for at installere marionetagenten.

[Email protected]: ~ $ sudo apt install -y marionet-agent

Læse pakkelister … Udført

Bygning afhængighed træ

Læser information om staten … Udført

Følgende NYE pakker bliver installeret:

marionet-middel

0 opgraderet, 1 nyligt installeret, 0 til at fjerne og 233 ikke opgraderet.

Brug for at få 19,9 MB arkiver.

Efter denne operation bruges 115 MB ekstra diskplads.

Hent: 1 http://apt.puppetlabs.com bionic / puppet6 amd64 marionet-agent amd64 6.10.1-1bionic [19.9 MB]

Hentet 19,9 MB i 2s (8488 kB / s)

Valg af tidligere ikke-valgt pakkedukkeragent.

(Læser database … 185786 filer og mapper, der i øjeblikket er installeret.)

Klar til at pakke ud … / marionet-agent_6.10.1-1bionic_amd64.deb …

Udpakning af puppet-agent (6.10.1-1bionic) …

Opsætning af marionet-agent (6.10.1-1bionic) …

Oprettet symlink /etc/systemd/system/multi-user.target.wants/puppet.service → /lib/systemd/system/puppet.service.

Oprettet symlink /etc/systemd/system/multi-user.target.wants/pxp-agent.service → /lib/systemd/system/pxp-agent.service.

Fjernet /etc/systemd/system/multi-user.target.wants/pxp-agent.service.

Behandler triggere til libc-bin (2.28-0ubuntu1) …

Konfigurering af Puppet Agent

 Rediger marionetkonfigurationsfilen på agentnoden.

[Email protected]: ~ $ sudo gedit /etc/puppetlabs/puppet/puppet.conf

[Main]

certname = puppetagent

server = puppet.geekflare.com

miljø = produktion

runinterval = 15m

Kør kommandoen nedenfor for at starte dukketjenesten. Denne kommando starter også automatisk, når den starter.

[Email protected]: ~ $ sudo / opt / puppetlabs / bin / puppet resource service marionet sikre = kører enable = true

service {‘marionet’:

sikre => ‘Kører’,

aktiver => ‘rigtigt’,

Generer og underskriv certifikater

Når agenten starter for første gang, sender den en anmodning om underskrivelse af certifikat til dukkemesteren. Skibsføreren skal kontrollere og underskrive dette certifikat. Herefter henter agenten kataloger fra masteren og anvender dem regelmæssigt på agentknudepunkter.

Nu, hvor dukkeagenten kører, skal du køre nedenstående kommando på masternoden for at kontrollere, om den har modtaget anmodning om certifikatsignering.

På hovednoden

[Email protected]: ~ $ sudo / opt / puppetlabs / bin / puppetserver ca-liste

[sudo] adgangskode til geekflare:

Anmodede certifikater:

puppetagent (SHA256) EA: 68: 23: B5: C3: 71: 2C: E6: 4A: 6A: 3B: 2F: 24: F5: B8: 5B: 50: F7: 3F: 12: 89: DE: B1: EB: D1: 0A: 74: 3E: 48: C3: D7: 35

Underskriv certifikatet sendt af agenten.

[Email protected]: ~ $ sudo / opt / puppetlabs / bin / puppetserver ca-liste

[sudo] adgangskode til geekflare:

Anmodede certifikater:

puppetagent (SHA256) EA: 68: 23: B5: C3: 71: 2C: E6: 4A: 6A: 3B: 2F: 24: F5: B8: 5B: 50: F7: 3F: 12: 89: DE: B1: EB: D1: 0A: 74: 3E: 48: C3: D7: 35

Kør kommandoen nedenfor for at kontrollere alle certifikatlisten. Et certifikat er allerede der, være en standard for hovednoden, og det andet er fra agentnoden.

[Email protected]: ~ $ sudo / opt / puppetlabs / bin / puppetserver ca liste – alt

Underskrevne certifikater:

puppetagent (SHA256) EA: 68: 23: B5: C3: 71: 2C: E6: 4A: 6A: 3B: 2F: 24: F5: B8: 5B: 50: F7: 3F: 12: 89: DE: B1: EB: D1: 0A: 74: 3E: 48: C3: D7: 35

puppet.geekflare.com (SHA256) 71: 30: 5B: C8: C5: CE: 28: A0: 60: 5C: 4F: 39: 26: D0: FC: DA: DF: 0A: 0F: 4D: ED: D4: B1: 9C: 05: 1A: 38: 2F: D6: 5F: 9C: 06 alt navne: ["DNS: puppet.geekflare.com", "DNS: marionet", "DNS: puppet.geekflare.com"]

På agentnode

Kør nu denne kommando for at teste, om forbindelsen er etableret mellem master- og agentknudepunkter, og alt kører fint.

[Email protected]: ~ $ sudo / opt / puppetlabs / bin / puppet agent – test

Info: Brug af konfigureret miljø ‘produktion’

Info: Henter pluginfacts

Info: Henter plugin

Info: Henter lokaliteter

Info: Caching-katalog til marionette-agent

Info: Anvendelse af konfigurationsversion ‘1571171191’

Bemærk: Anvendt katalog på 0,02 sekunder

Eksempel på dukketype

Lad os køre et simpelt marioneteksempel. Jeg opretter et simpelt marionetmanifest, der skaber et bibliotek med en bestemt tilladelse.

På hovednoden:

[Email protected]: ~ $ sudo gedit /etc/puppetlabs/code/environments/production/manifests/site.pp

 Sæt indholdet nedenfor.

node ‘puppetagent’ {# Gælder kun den nævnte knude. Hvis intet nævnt, gælder alle.

fil {‘/ home / test’: # Resource type fil

sikre => ‘katalog’, # Opret et katalog

ejer => ‘rod’, # Ejerskab

gruppe => ‘root’, # Gruppenavn

tilstand => ‘0755’, # Directory-tilladelser

}

}

Kør nu kommandoen nedenfor for, at en agent skal nå ud til at beherske og trække konfigurationer. Efter at have kørt denne kommando, skal den oprette det bibliotek på agentknuden.

På agentnode

[Email protected]: ~ $ sudo / opt / puppetlabs / bin / puppet agent – test

[sudo] adgangskode til geekflare:

Info: Brug af konfigureret miljø ‘produktion’

Info: Henter pluginfacts

Info: Henter plugin

Info: Henter lokaliteter

Info: Caching-katalog til puppetagent

Info: Anvendelse af konfigurationsversion ‘1571333010’

Bemærk: / Fase [main] / Main / Node [puppetagent] / File [/ home / test] / sikre: oprettet

Bemærk: Anvendt katalog på 0,05 sekunder

Kør kommandoen ls for at kontrollere, om instruktøren er oprettet med succes. 

[Email protected]: ~ $ ls -l / home /

i alt 32

drwxr-xr-x 13 geekflare geekflare 4096 Jul 19 08:06 geekflare

drwx —— 2 root root 16384 23. oktober 2018 mistet + fundet

drwxr-xr-x 23 geekflare geekflare 4096 17. oktober 11:02 geekflare

drwxr-xr-x 2 rod rod 4096 17 oktober 13:23 test

drwxr-xr-x 2 brugernavn brugernavn 4096 29. juni 09:38 brugernavn

Værsgo!

Konklusion

Dette var et simpelt eksempel for at demonstrere dets arbejde. Men forestil dig et større scenarie, hvor du blev nødt til at installere eller anvende en bestemt konfiguration på hundredvis af servere. Dukke kan hjælpe dig med at opnå det på få minutter.

Hvis du er involveret i automatisering og er interesseret i at lære mere, kan du tjekke dette Udemy kursus, der taler om Ansible, Puppet and Salt.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map