Cum se instalează Puppet 6 pe Ubuntu 18?

Aflați cum să instalați un server Puppet & agent și înființat, așa că vorbesc între ei.


Puppet este unul dintre cele mai întreprinse instrumente de gestionare a configurației din lumea DevOps. Ca inginer DevOps, trebuie să știți cum să setați o marionetă în sistemul dvs..

Dar înainte de a începe, permiteți-mi să vă spun că instalarea unei marionete nu este deloc o sarcină ușoară. Dacă vă lipsește un singur pas sau dacă schimbați fluxul de pași menționați în acest tutorial, chiar și la un loc, s-ar putea să vă zgârieți capul toată ziua cu o mulțime de erori, dar configurarea dvs. ar fi incompletă. Așadar, urmați fiecare pas cu atenție.

Marionetă are arhitectura client-server, care constă dintr-un maestru de marionete (server) și agenți de păpuși (client). Puppet Master are toate configurațiile și compilează și furnizează configurațiile agenților de marionete. Agenții de păpuși trimit datele la maestrul de păpuși care solicită cataloage la intervale de timp. Puppet Master trimite înapoi catalogul solicitat agentului de păpuși. Puppet Agent aplică apoi acel catalog pe nod și îl raportează înapoi la maestru.

Acum, dacă aveți o înțelegere de bază a marionetei, începeți și configurați un maestru de păpuși și un agent de păpuși.

Dacă sunteți un începător absolut, poate doriți să luați acest lucru curs video online.

Detalii despre mediu

Folosesc 2 mașini Ubuntu 18.04. Unul va acționa ca maestru de marionete, iar celălalt ca agent de marionete. Mai jos sunt detaliile utilajelor:

Puppet Master (Server)

  • Nume gazdă: marionetă, marionetă.geekflate.com
  • Adresa IP: 192.168.0.108

Agent de marionete (client)

  • Nume gazdă: puppetagent
  • Adresa IP: 192.168.0.107

Instalarea Puppet Server

Înainte de a începe instalarea, trebuie să editez fișierul / etc / hosts atât pe master cât și pe agent, astfel încât să se poată rezolva reciproc.

Pe nodul Master

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

parola [sudo] pentru geekflare:

127.0.0.1 localhost
127.0.1.1 geekflare
192.168.0.108 marionetă marionetă.geekflare.com

Pe nodul agent

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

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

Acum, trebuie să obțin un depozit de marionete pe nodul meu principal și să îl actualizez.

Descărcați depozitul de păpuși.

[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

Rezolvarea apt.puppetlabs.com (apt.puppetlabs.com) … 99.86.19.107, 99.86.19.59, 99.86.19.2, …

Conectarea la apt.puppetlabs.com (apt.puppetlabs.com) | 99.86.19.107 |: 443 … conectat.

Solicitare HTTP trimisă, în așteptarea răspunsului … 200 OK

Lungime: 11736 (11K) [aplicație / pachet x-debian]

Salvarea către: „puppet6-release-bionic.deb”

puppet6-release-bio 100% [===================>] 11.46K –.- KB / s în 0s

2019-10-15 15:41:34 (236 MB / s) – „puppet6-release-bionic.deb” salvat [11736/11736]

Adăugați și configurați marioneta 6 repo.

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

Selectarea pachetului anterior neselectat de marionetă6.

(Citirea bazei de date … 187041 fișiere și directoare instalate în prezent.)

Pregătirea pentru a despacheta marioneta6-eliberare-bionic.deb …

Desfaceți marioneta cu 6 versiuni (6.0.0-5bionic) …

Configurarea versiunii de marionete6 (6.0.0-5bionic) …

Actualizați lista depozitelor.

[Email protected]: ~ $ Sudo apt actualizare

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

Hit: 2 http://security.ubuntu.com/ubuntu cosmic-security InRelease

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

Obțineți: 4 http://download.virtualbox.org/virtualbox/debian cosmic InRelease [4.429 B]

Obțineți: 5 http://apt.puppetlabs.com bionic InRelease [85,3 kB]

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

Hit: 7 http://us.archive.ubuntu.com/ubuntu cosmic-Updates InRelease

Obțineți: 8 http://download.virtualbox.org/virtualbox/debian cosmic / contrib amd64 Pachete [1.466 B]

Obțineți: 9 http://apt.puppetlabs.com bionic / puppet6 toate pachetele [13,5 kB]

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

Obțineți: 11 pachete http://apt.puppetlabs.com bionic / puppet6 i386 [13,5 kB]

Obțineți: 12 pachete http://apt.puppetlabs.com bionic / puppet6 amd64 [32,3 kB]

Preluat 151 kB în 2s (61,9 kB / s)

Citirea listelor de pachete … Gata

Construirea arborelui dependenței

Citirea informațiilor de stare … Gata

234 de pachete pot fi actualizate. Executați „apt list – upgradable” pentru a le vedea.

Instalarea Puppet Server

Să executăm comanda de mai jos pe nodul principal pentru a instala serverul de marionete pe el.

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

Citirea listelor de pachete … Gata

Construirea arborelui dependenței

Citirea informațiilor de stare … Gata

Vor fi instalate următoarele pachete suplimentare:

ca-certificate-java java-comun openjdk-8-jre-headless agent de păpuși

Pachetele sugerate:

default-jre fonts-dejavu-extra fonts-ipafont-gothic fonts-ipafont-mincho

fonts-wqy-microhei fonts-wqy-zenhei

Următoarele pachete NOU vor fi instalate:

ca-certificate-java java-comun openjdk-8-jre-headless agent de păpuși

puppetserver

0 actualizat, 5 recent instalat, 0 pentru eliminat și 234 neactualizat.

Trebuie să obțineți 109 MB de arhive.

După această operație, vor fi folosiți 287 MB de spațiu suplimentar pe disc.

Obțineți: 1 http://us.archive.ubuntu.com/ubuntu cosmic / main amd64 java-comun all 0.68ubuntu1 [6,988 B]

Obțineți: 2 http://apt.puppetlabs.com bionic / puppet6 amd64 păpușă-agent amd64 6.10.1-1bionic [19.9 MB]

Obțineți: 3 http://us.archive.ubuntu.com/ubuntu cosmic-actualizări / univers amd64 openjdk-8-jre-headless amd64 8u212-b03-0ubuntu1.18.10.1 [27.2 MB]

Obțineți: 4 http://apt.puppetlabs.com bionic / puppet6 amd64 puppetserver all 6.7.1-1bionic [61,5 MB]

Obțineți: 5 http://us.archive.ubuntu.com/ubuntu cosmic / main amd64 ca-certificate-java all 20180516ubuntu1 [12.3 kB]

Preluat 109 MB în 1min 41s (1.072 kB / s)

Despachetarea serverului de marionete (6.7.1-1bionic) …

Configurarea păpușilor-agent (6.10.1-1bionic) …

Simlink creat /etc/systemd/system/multi-user.target.wants/puppet.service → /lib/systemd/system/puppet.service.

Symblink creat /etc/systemd/system/multi-user.target.wants/pxp-agent.service → /lib/systemd/system/pxp-agent.service.

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

Configurarea comună java (0.68ubuntu1) …

Procesarea declanșatoarelor pentru libc-bin (2.28-0ubuntu1) …

Procesarea declanșatoarelor pentru systemd (239-7ubuntu10.12) …

Procesarea declanșatoarelor pentru om-db (2.8.4-2) …

Procesarea declanșatoarelor pentru certificatele ca (20180409) …

Actualizarea certificatelor în / etc / ssl / certs…

0 adăugat, 0 eliminat; Terminat.

Cârlige de rulare în /etc/ca-certificates/update.d…

Terminat.

Configurarea ca-certificate-java (20180516ubuntu1) …

head: nu poate deschide ‘/ etc / ssl / certs / java / cacerts’ pentru citire: Nu există un astfel de fișier sau director

Adăugarea debian: SSL.com_EV_Root_Certification_Authority_ECC.pem

Adăugarea debian: ssl-cert-snakeoil.pem

Adăugarea debian: SwissSign_Gold_CA _-_ G2.pem

Adăugarea debian: SZAFIR_ROOT_CA2.pem

Adăugarea debian: OpenTrust_Root_CA_G3.pem

Adăugarea debian: TWCA_Root_Certification_Authority.pem

Adăugarea debian: QuoVadis_Root_CA_2_G3.pem

Adăugarea debian: DST_Root_CA_X3.pem

Adăugarea debian: SecureSign_RootCA11.pem

Adăugarea debian: QuoVadis_Root_CA_1_G3.pem

Adăugarea debian: T-TeleSec_GlobalRoot_Class_3.pem

Adăugarea debian: Go_Daddy_Root_Certificate_Authority _-_ G2.pem

Adăugarea debian: Actalis_Authentication_Root_CA.pem

Adăugarea debian: Chambers_of_Commerce_Root _-_ 2008.pem

Terminat.

Procesarea declanșatoarelor pentru certificatele ca (20180409) …

Actualizarea certificatelor în / etc / ssl / certs…

0 adăugat, 0 eliminat; Terminat.

Cârlige de rulare în /etc/ca-certificates/update.d…

Terminat.

Terminat.

Configurarea openjdk-8-jre-headless: amd64 (8u212-b03-0ubuntu1.18.10.1) …

Configurarea serverului de marionete (6.7.1-1bionic) …

usermod: fără modificări

Procesarea declanșatoarelor pentru systemd (239-7ubuntu10.12) …

Configurarea serverului de marionete

 Editați fișierul de păpușari, așa cum se arată mai jos. Aceasta pentru a configura JVM-ul serverului-marionetă.

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

# Modificați acest lucru dacă doriți să schimbați alocarea memoriei, activați JMX, etc

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

 Editați fișierul de configurare a marionetelor pentru a modifica setările serverului de marionete.

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

# Acest fișier poate fi utilizat pentru a trece peste setările implicite ale marionetelor.

# Vezi următoarele link-uri pentru mai multe detalii despre setările disponibile:

# – 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

[maestru]

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 / marionete / cod

dns_alt_names = marionetă, marionetă.geekflare.com

[principal]

certname = marionetă.geekflare.com

server = puppet.geekflare.com

mediu = producție

runinterval = 15m

Puppet Server trebuie să genereze o semnătură rădăcină și intermediară, CA.

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

Generația a reușit. Găsiți fișierele dvs. în / etc / puppetlabs / puppet / ssl / ca

 Porniți și activați serviciul de marionetă pentru marionete.

[Email protected]: ~ $ sudo systemctl start puppetserver

[Email protected]: ~ $ sudo systemctl activează puppetserver

Sincronizarea stării puppetserver.service cu scriptul de serviciu SysV cu / lib / systemd / systemd-sysv-install.

Se execută: / lib / systemd / systemd-sysv-install active puppetserver

Instalarea agentului marionetă

Urmați pașii de mai jos pe nodul agent, așa cum ați făcut pentru sistemul master. Depozitul de păpuși trebuie să se prezinte pe toate nodurile agentului.

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

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

[Email protected]: ~ $ Sudo apt actualizare

Rulați comanda de mai jos pe nodul agent pentru a instala agentul marionetă.

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

Citirea listelor de pachete … Gata

Construirea arborelui dependenței

Citirea informațiilor de stare … Gata

Următoarele pachete NOU vor fi instalate:

păpuși-agent

0 actualizat, 1 recent instalat, 0 pentru eliminat și 233 neactualizat.

Trebuie să obțineți 19,9 MB de arhive.

După această operație, se vor utiliza 115 MB spațiu suplimentar pe disc.

Obțineți: 1 http://apt.puppetlabs.com bionic / puppet6 amd64 păpușă-agent amd64 6.10.1-1bionic [19.9 MB]

Preluat 19,9 MB în 2s (8.488 kB / s)

Selectarea pachetului-păpușă neselectat anterior.

(Citirea bazei de date … 185786 fișiere și directoare instalate în prezent.)

Pregătirea pentru a despacheta … / puppet-agent_6.10.1-1bionic_amd64.deb …

Despachetarea agentului de păpuși (6.10.1-1bionic) …

Configurarea păpușilor-agent (6.10.1-1bionic) …

Simlink creat /etc/systemd/system/multi-user.target.wants/puppet.service → /lib/systemd/system/puppet.service.

Symblink creat /etc/systemd/system/multi-user.target.wants/pxp-agent.service → /lib/systemd/system/pxp-agent.service.

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

Procesarea declanșatoarelor pentru libc-bin (2.28-0ubuntu1) …

Configurarea agentului marionetă

 Editați fișierul de configurare de marionete pe nodul agent.

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

[principal]

certname = puppetagent

server = puppet.geekflare.com

mediu = producție

runinterval = 15m

Rulați comanda de mai jos pentru a porni serviciul de marionete. Această comandă va începe automat și după ce începe.

[Email protected]: ~ $ sudo / opt / puppetlabs / bin / puppet resource service puppet asigura = rulare activă = true

serviciu {„marionetă”:

asigura => ‘alergare’,

activare => ‘Adevărat’,

Generați și semnați certificate

Când agentul pornește pentru prima dată, trimite o cerere de semnare a certificatului stăpânului de păpuși. Maestrul trebuie să verifice și să semneze acest certificat. După aceasta, agentul va prelua cataloage de la master și le va aplica în mod regulat nodurilor agentului.

Acum, când agentul marionetă este executat, executați comanda de mai jos pe nodul principal pentru a verifica dacă a primit vreo cerere de semnare a certificatului.

Pe nodul principal

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

parola [sudo] pentru geekflare:

Certificate solicitate:

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

Semnați certificatul trimis de agent.

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

parola [sudo] pentru geekflare:

Certificate solicitate:

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

Executați comanda de mai jos pentru a verifica toată lista de certificate. Unul certificat este deja acolo, fiți implicit un nod principal, iar celălalt provine din nodul agent.

[Email protected]: ~ $ sudo / opt / puppetlabs / bin / puppetserver list ca – all

Certificate semnate:

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 nume: ["DNS: puppet.geekflare.com", "DNS: marionetă", "DNS: puppet.geekflare.com"]

Pe nodul agent

Executați acum această comandă pentru a testa dacă conexiunea a fost stabilită între nodurile master și agent și totul funcționează bine.

[Email protected]: ~ $ sudo / opt / marionete / bin / agent de marionete – test

Info: Utilizarea „producției” a mediului configurat

Informații: Recuperarea funcțiilor plugin

Info: Recuperarea pluginului

Info: Recuperarea localurilor

Info: Catalog de cache pentru agentul de păpuși

Informații: Aplicarea versiunii de configurare ‘1571171191’

Observație: catalog aplicat în 0,02 secunde

Exemplu de marionetă

Să rulăm un exemplu simplu de marionetă. Voi crea un manifest de marionete simplu, care creează un director cu o anumită permisiune.

Pe nodul principal:

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

 Puneți conținutul de mai jos.

nodul „puppetagent” {# Se aplică numai nodului menționat. Dacă nu se menționează nimic, se aplică tuturor.

file {‘/ home / test’: # Fișier tip resursă

asigura => ‘director’, # Creați un director

proprietar => „rădăcină”, # proprietate

grup => „rădăcină”, # Nume grup

modul => „0755”, permisiuni # Directory

}

}

Acum executați comanda de mai jos pentru ca un agent să ajungă să stăpânească și să tragă configurațiile. După executarea acestei comenzi, ar trebui să creeze acel director pe nodul agent.

Pe nodul agent

[Email protected]: ~ $ sudo / opt / marionete / bin / agent de marionete – test

parola [sudo] pentru geekflare:

Info: Utilizarea „producției” a mediului configurat

Informații: Recuperarea funcțiilor plugin

Info: Recuperarea pluginului

Info: Recuperarea localurilor

Info: Catalog de cache pentru marionete

Informații: Aplicarea versiunii de configurare ‘1571333010’

Observație: / Etapa [principal] / Principal / Nod [puppetagent] / Fișier [/ home / test] / asigura: creat

Observație: catalogul aplicat în 0,05 secunde

Rulați comanda ls pentru a verifica dacă directorul a fost creat cu succes. 

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

total 32

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

drwx —— 2 root root 16384 23 oct. 2018 pierdut + găsit

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

drwxr-xr-x 2 rădăcină rădăcină 4096 17 oct. 13:23 test

drwxr-xr-x 2 nume utilizator 4096 Iunie 29 09:38 nume utilizator

Acolo te duci!

Concluzie

Acesta a fost un exemplu simplu pentru a demonstra funcționarea sa. Dar imaginați-vă un scenariu mai mare, în care trebuie să instalați sau să aplicați o anumită configurație pe sute de servere. Păpușă vă poate ajuta să îl atingeți în câteva minute.

Dacă sunteți implicat în automatizare și sunteți interesat să aflați mai multe, puteți verifica acest lucru Curs Udemy, care vorbește despre Ansible, Păpușă și Sare.

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