Hoe Puppet 6 op Ubuntu 18 te installeren?

Leer hoe u een Puppet-server installeert & agent en instellen, zodat ze met elkaar praten.


Puppet is een van de meest door de onderneming goedgekeurde configuratiebeheertools in de DevOps-wereld. Als DevOps-ingenieur moet u weten hoe u een pop op uw systeem instelt.

Maar voordat we beginnen, wil ik je vertellen dat het installeren van een pop helemaal geen gemakkelijke taak is. Als u een enkele stap mist of als u de stappen in deze zelfstudie verandert, zelfs op één plaats, krabt u misschien de hele dag met veel fouten, maar uw configuratie zou onvolledig zijn. Volg dus elke stap heel zorgvuldig.

Marionet heeft client-server-architectuur, die bestaat uit een puppet master (server) en puppet agents (client). Puppet Master heeft alle configuraties en het compileert en levert de configuraties aan marionettenagenten. Puppet Agents sturen de feiten met tussenpozen naar de poppenspeler om catalogi aan te vragen. Puppet Master stuurt de gevraagde catalogus terug naar de poppenspeler. Puppet Agent past die catalogus vervolgens toe op het knooppunt en rapporteert terug aan de master.

Nu je een basiskennis van Puppet hebt, gaan we aan de slag en een Puppet Master en Puppet Agent opzetten.

Als u een absolute beginner bent, kunt u dit misschien gebruiken online videocursus.

Omgeving Details

Ik gebruik 2 Ubuntu 18.04-machines. De ene zal optreden als poppenspeler en de andere als poppenspeler. Hieronder staan ​​de details van de machines:

Puppet Master (server)

  • Hostnaam: puppet, puppet.geekflate.com
  • IP-adres: 192.168.0.108

Puppet Agent (klant)

  • Hostnaam: puppetagent
  • IP-adres: 192.168.0.107

Puppet Server installeren

Voordat ik met de installatie begin, moet ik het bestand / etc / hosts op zowel master als agent bewerken, zodat ze elkaar kunnen oplossen.

Op het masterknooppunt

[email beveiligd]: ~ $ sudo gedit / etc / hosts

[sudo] wachtwoord voor geekflare:

127.0.0.1 localhost
127.0.1.1 geekflare
192.168.0.108 puppet puppet.geekflare.com

Op Agent Node

[email beveiligd]: ~ $ sudo gedit / etc / hosts

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

Nu moet ik een poppenopslagplaats op mijn hoofdknooppunt krijgen en deze bijwerken.

Download de poppenopslagplaats.

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

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

Het oplossen van apt.puppetlabs.com (apt.puppetlabs.com) … 99.86.19.107, 99.86.19.59, 99.86.19.2, …

Verbinding maken met apt.puppetlabs.com (apt.puppetlabs.com) | 99.86.19.107 |: 443 … verbonden.

HTTP-verzoek verzonden, in afwachting van antwoord … 200 OK

Lengte: 11736 (11K) [applicatie / x-debian-pakket]

Opslaan op: ‘puppet6-release-bionic.deb’

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

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

Voeg puppet 6-opslagplaats toe en configureer deze.

[email beveiligd]: ~ $ sudo dpkg -i puppet6-release-bionic.deb

Eerder niet-geselecteerd pakket puppet6-release selecteren.

(Database lezen … 187041 bestanden en mappen die momenteel zijn geïnstalleerd.)

Voorbereiden om puppet6-release-bionic.deb uit te pakken …

Puppet6-release uitpakken (6.0.0-5bionic) …

Puppet6-release instellen (6.0.0-5bionic) …

Werk de repositorylijst bij.

[email beveiligd]: ~ $ sudo apt update

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

Hit: 2 http://security.ubuntu.com/ubuntu kosmische beveiliging InRelease

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

Ontvang: 4 http://download.virtualbox.org/virtualbox/debian cosmic InRelease [4.429 B]

Ontvang: 5 http://apt.puppetlabs.com bionic InRelease [85.3 kB]

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

Hit: 7 http://us.archive.ubuntu.com/ubuntu kosmische updates InRelease

Ontvang: 8 http://download.virtualbox.org/virtualbox/debian cosmic / contrib amd64-pakketten [1.466 B]

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

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

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

Ontvang: 12 http://apt.puppetlabs.com bionic / puppet6 amd64-pakketten [32.3 kB]

Haalde 151 kB in 2 s (61,9 kB / s)

Pakketlijsten lezen … Klaar

Afhankelijkheidsboom opbouwen

Statusinformatie lezen … Klaar

Er kunnen 234 pakketten worden geüpgraded. Voer ‘apt list –upgradable’ uit om ze te zien.

Puppet Server installeren

Laten we de onderstaande opdracht op het hoofdknooppunt uitvoeren om de poppenserver erop te installeren.

[email beveiligd]: ~ $ sudo apt install -y puppetserver

Pakketlijsten lezen … Klaar

Afhankelijkheidsboom opbouwen

Statusinformatie lezen … Klaar

De volgende aanvullende pakketten worden geïnstalleerd:

ca-certificaten-java java-gemeenschappelijke openjdk-8-jre-headless puppet-agent

Voorgestelde pakketten:

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

fonts-wqy-microhei fonts-wqy-zenhei

De volgende NIEUWE pakketten worden geïnstalleerd:

ca-certificaten-java java-gemeenschappelijke openjdk-8-jre-headless puppet-agent

poppenserver

0 geüpgraded, 5 nieuw geïnstalleerd, 0 om te verwijderen en 234 niet geüpgraded.

Moet 109 MB aan archieven krijgen.

Na deze bewerking wordt 287 MB extra schijfruimte gebruikt.

Ontvang: 1 http://us.archive.ubuntu.com/ubuntu cosmic / main amd64 java-common all 0.68ubuntu1 [6.988 B]

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

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

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

Ontvang: 5 http://us.archive.ubuntu.com/ubuntu cosmic / main amd64 ca-certificaten-java alle 20180516ubuntu1 [12.3 kB]

Opgehaald 109 MB in 1min 41s (1.072 kB / s)

Puppetserver uitpakken (6.7.1-1bionic) …

Poppenspeler instellen (6.10.1-1bionic) …

Symlink gemaakt /etc/systemd/system/multi-user.target.wants/puppet.service → /lib/systemd/system/puppet.service.

Symlink /etc/systemd/system/multi-user.target.wants/pxp-agent.service → /lib/systemd/system/pxp-agent.service gemaakt.

/Etc/systemd/system/multi-user.target.wants/pxp-agent.service verwijderd.

Java-common instellen (0.68ubuntu1) …

Verwerkingstriggers voor libc-bin (2.28-0ubuntu1) …

Verwerkingstriggers voor systemd (239-7ubuntu10.12) …

Verwerkingstriggers voor man-db (2.8.4-2) …

Verwerkingstriggers voor ca-certificaten (20180409) …

Certificaten bijwerken in / etc / ssl / certs…

0 toegevoegd, 0 verwijderd; gedaan.

Running hooks in /etc/ca-certificates/update.d…

gedaan.

Ca-certificaten-java instellen (20180516ubuntu1) …

head: kan ‘/ etc / ssl / certs / java / cacerts’ niet openen om te lezen: bestand of map bestaat niet

Debian toevoegen: SSL.com_EV_Root_Certification_Authority_ECC.pem

Debian toevoegen: ssl-cert-snakeoil.pem

Debian toevoegen: SwissSign_Gold_CA _-_ G2.pem

Debian toevoegen: SZAFIR_ROOT_CA2.pem

Debian toevoegen: OpenTrust_Root_CA_G3.pem

Debian toevoegen: TWCA_Root_Certification_Authority.pem

Debian toevoegen: QuoVadis_Root_CA_2_G3.pem

Debian toevoegen: DST_Root_CA_X3.pem

Debian toevoegen: SecureSign_RootCA11.pem

Debian toevoegen: QuoVadis_Root_CA_1_G3.pem

Debian toevoegen: T-TeleSec_GlobalRoot_Class_3.pem

Debian toevoegen: Go_Daddy_Root_Certificate_Authority _-_ G2.pem

Debian toevoegen: Actalis_Authentication_Root_CA.pem

Debian toevoegen: Chambers_of_Commerce_Root _-_ 2008.pem

gedaan.

Verwerkingstriggers voor ca-certificaten (20180409) …

Certificaten bijwerken in / etc / ssl / certs…

0 toegevoegd, 0 verwijderd; gedaan.

Running hooks in /etc/ca-certificates/update.d…

gedaan.

gedaan.

Openjdk-8-jre-headless instellen: amd64 (8u212-b03-0ubuntu1.18.10.1) …

Puppetserver instellen (6.7.1-1bionic) …

usermod: geen wijzigingen

Verwerkingstriggers voor systemd (239-7ubuntu10.12) …

Puppet Server configureren

 Bewerk het puppetserver-bestand, zoals hieronder weergegeven. Dit om JVM van de poppenserver te configureren.

[email beveiligd]: ~ $ sudo gedit / etc / default / puppetserver

# Pas dit aan als u de geheugentoewijzing wilt wijzigen, JMX wilt inschakelen, enz

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

 Bewerk het poppenconfiguratiebestand om de instellingen van de poppenserver te wijzigen.

[email beveiligd]: ~ $ sudo gedit /etc/puppetlabs/puppet/puppet.conf

# Dit bestand kan worden gebruikt om de standaardinstellingen voor poppen te overschrijven.

# Zie de volgende links voor meer informatie over welke instellingen beschikbaar zijn:

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

[meester]

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 = puppet, puppet.geekflare.com

[hoofd]

certname = puppet.geekflare.com

server = puppet.geekflare.com

omgeving = productie

runinterval = 15m

Puppet Server moet een root- en tussentijdse ondertekening, CA, genereren.

[email beveiligd]: ~ $ sudo / opt / puppetlabs / bin / puppetserver ca setup

Generatie is geslaagd. Vind je bestanden in / etc / puppetlabs / puppet / ssl / ca

 Start en schakel de service voor de poppenserver in.

[email beveiligd]: ~ $ sudo systemctl start puppetserver

[email beveiligd]: ~ $ sudo systemctl puppetserver inschakelen

Status van puppetserver.service synchroniseren met SysV-servicescript met / lib / systemd / systemd-sysv-install.

Uitvoeren: / lib / systemd / systemd-sysv-install enable puppetserver

Puppet Agent installeren

Volg de onderstaande stappen op het agentknooppunt zoals u deed voor het mastersysteem. Puppet-repository moet op alle agentknooppunten aanwezig zijn.

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

[email beveiligd]: ~ $ sudo dpkg -i puppet6-release-bionic.deb

[email beveiligd]: ~ $ sudo apt update

Voer de onderstaande opdracht uit op het agentknooppunt om de puppet-agent te installeren.

[email beveiligd]: ~ $ sudo apt install -y puppet-agent

Pakketlijsten lezen … Klaar

Afhankelijkheidsboom opbouwen

Statusinformatie lezen … Klaar

De volgende NIEUWE pakketten worden geïnstalleerd:

marionet-agent

0 geüpgraded, 1 nieuw geïnstalleerd, 0 om te verwijderen en 233 niet geüpgraded.

Noodzaak van 19,9 MB aan archieven.

Na deze bewerking wordt 115 MB extra schijfruimte gebruikt.

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

Opgehaald 19,9 MB in 2s (8.488 kB / s)

Eerder niet-geselecteerd pakket puppet-agent selecteren.

(Database lezen … 185786 bestanden en mappen die momenteel zijn geïnstalleerd.)

Voorbereiden om uit te pakken … / puppet-agent_6.10.1-1bionic_amd64.deb …

Poppetje-agent uitpakken (6.10.1-1bionic) …

Poppenspeler instellen (6.10.1-1bionic) …

Symlink gemaakt /etc/systemd/system/multi-user.target.wants/puppet.service → /lib/systemd/system/puppet.service.

Symlink /etc/systemd/system/multi-user.target.wants/pxp-agent.service → /lib/systemd/system/pxp-agent.service gemaakt.

/Etc/systemd/system/multi-user.target.wants/pxp-agent.service verwijderd.

Verwerkingstriggers voor libc-bin (2.28-0ubuntu1) …

Puppet Agent configureren

 Bewerk het poppenconfiguratiebestand op het agentknooppunt.

[email beveiligd]: ~ $ sudo gedit /etc/puppetlabs/puppet/puppet.conf

[hoofd]

certname = puppetagent

server = puppet.geekflare.com

omgeving = productie

runinterval = 15m

Voer de onderstaande opdracht uit om de poppenservice te starten. Deze opdracht start ook automatisch nadat deze is opgestart.

[email beveiligd]: ~ $ sudo / opt / puppetlabs / bin / puppet resource service puppet sure = running enable = true

service {‘puppet’:

zorgen => ‘rennen’,

inschakelen => ‘waar’,

Genereer en onderteken certificaten

Wanneer de agent voor de eerste keer start, stuurt hij een verzoek om ondertekening van een certificaat naar de poppenspeler. De master moet dit certificaat controleren en ondertekenen. Hierna haalt de agent catalogi op van de master en past deze regelmatig toe op agentknooppunten.

Nu de marionetagent actief is, voert u de onderstaande opdracht uit op het hoofdknooppunt om te controleren of deze een verzoek tot ondertekening van een certificaat heeft ontvangen.

Op het masterknooppunt

[email beveiligd]: ~ $ sudo / opt / puppetlabs / bin / puppetserver ca lijst

[sudo] wachtwoord voor geekflare:

Gevraagde certificaten:

marionetagent (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

Onderteken het door de agent verzonden certificaat.

[email beveiligd]: ~ $ sudo / opt / puppetlabs / bin / puppetserver ca lijst

[sudo] wachtwoord voor geekflare:

Gevraagde certificaten:

marionetagent (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

Voer de onderstaande opdracht uit om alle certificaatlijst te controleren. Het ene certificaat is er al, het is standaard een masterknooppunt en het andere komt van het agentknooppunt.

[email beveiligd]: ~ $ sudo / opt / puppetlabs / bin / puppetserver ca list –all

Ondertekende certificaten:

marionetagent (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-namen: ["DNS: puppet.geekflare.com", "DNS: marionet", "DNS: puppet.geekflare.com"]

Op Agent Node

Voer nu deze opdracht uit om te testen of de verbinding tot stand is gebracht tussen master- en agentknooppunten, en alles werkt goed.

[email beveiligd]: ~ $ sudo / opt / puppetlabs / bin / puppet agent –test

Info: Met behulp van geconfigureerde omgeving ‘productie’

Info: Pluginfacts ophalen

Info: plug-in ophalen

Info: Landinstellingen ophalen

Info: Cachingcatalogus voor poppenspeler

Info: Configuratieversie ‘1571171191’ toepassen

Let op: Toegepaste catalogus in 0,02 seconden

Voorbeeld Puppet Voorbeeld

Laten we een eenvoudig poppenvoorbeeld geven. Ik zal een eenvoudig poppenmanifest maken, dat met een bepaalde toestemming een map maakt.

Op het masterknooppunt:

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

 Zet de onderstaande inhoud.

knooppunt ‘puppetagent’ {# Alleen van toepassing op genoemd knooppunt. Als niets wordt vermeld, geldt voor iedereen.

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

zorgen => ‘directory’, # Maak een directory aan

eigenaar => ‘root’, # Eigendom

groep => ‘root’, # Groepsnaam

modus => ‘0755’, # Directory-machtigingen

}

}

Voer nu het onderstaande commando uit zodat een agent contact kan opnemen met de master en de configuraties kan ophalen. Na het uitvoeren van deze opdracht moet het die map op het agentknooppunt maken.

Op Agent Node

[email beveiligd]: ~ $ sudo / opt / puppetlabs / bin / puppet agent –test

[sudo] wachtwoord voor geekflare:

Info: Met behulp van geconfigureerde omgeving ‘productie’

Info: Pluginfacts ophalen

Info: plug-in ophalen

Info: Landinstellingen ophalen

Info: Caching catalogus voor puppetagent

Info: Configuratieversie ‘1571333010’ toepassen

Opmerking: / Stage [main] / Main / Node [puppetagent] / File [/ home / test] / sure: created

Let op: Toegepaste catalogus in 0,05 seconden

Voer de opdracht ls uit om te controleren of de director succesvol is aangemaakt. 

[email beveiligd]: ~ $ ls -l / home /

totaal 32

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

drwx —— 2 root root 16384 23 oktober 2018 verloren + gevonden

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

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

drwxr-xr-x 2 gebruikersnaam gebruikersnaam 4096 29 juni 09:38 gebruikersnaam

Daar ga je!

Conclusie

Dit was een eenvoudig voorbeeld om de werking te demonstreren. Maar stel je een groter scenario voor, waarbij je een bepaalde configuratie op honderden servers moet installeren of toepassen. Puppet kan u helpen dit binnen enkele minuten te bereiken.

Als u bezig bent met automatisering en geïnteresseerd bent in meer informatie, kunt u dit controleren Udemy natuurlijk, waarin wordt gesproken over Ansible, Puppet en 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