Sådan installeres og konfigureres dukkermester og dukkemand i Linux

Marionet? Hvad er det?

Hvis du er systemadministrator eller DevOps Engineer, og du har opretholdt hundredvis eller tusindvis af servere, skal du kende smerten ved at opretholde en konsekvent konfiguration på hvert system. En nem måde at gøre er at opretholde en tjekliste, og når en server opsættes, skal du sørge for, at hvert punkt i tjeklisten er markeret. Men når der er en mindre ændring, der skal foretages i konfigurationen på hver server, bliver det en smerte i stødene. Gå til hver server, rediger filen, tilføj linjen, gem filen, genstart tjenesten og gentag. På det tidspunkt, hvor du har udført din opgave, ville det allerede have kostet din organisation betydelige mængder penge, tid og menneskekraft, som kunne have været reddet, hvis der var en ting kaldet 'Automation'.

Når du tænker på at automatisere ting og især om at opretholde en konsekvent konfiguration på hundredvis eller tusindvis af servere, skal du altid vide et værktøj, og det er 'Marionet'. Dukke er en open source software, et konfigurationshåndteringsværktøj, skrevet på Ruby-sprog. Den er udviklet og vedligeholdes af Puppet Labs. Dukkearbejder på Linux, Unix, Mac, Windows-operativsystemer og deres smag, kan være fysiske servere eller virtuelle.
I marionet med nogle få linjer kode kan du have en konsekvent konfiguration på alle dine servere. Du skal bare skrive en kode, teste den på en server og anvende den konfiguration på alle dine servere. Til dette har du en centraliseret server, kaldet 'Puppet Master', som har alle oplysninger om alle serverne i din infrastruktur og de konfigurationer, der skal anvendes på dem. De andre servere, der henter de relevante oplysninger fra marionetmesteren, kaldes 'Agent Noder' eller simple 'Noder'.
I denne artikel lærer vi, hvordan du installerer marionet på master node og agent noder. Til denne vejledning har vi nedenstående opsætning:

  • Dukkemester - CentOS7 - 192.168.186.223
  • Puppet Agent Node - CentOS7 - 192.168.186.224

Installation af dukkemester

Bemærk: Sørg for, at du har konfigureret NTP-serveren korrekt, for at indstille systemtiden korrekt, inden vi fortsætter til installationen af ​​marionetmesteren.

1. Download PuppetLabs pakke

For at downloade PuppetLabs-pakken skal du bruge wget kommando som vist nedenfor:

$ cd ~ $ wget http://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm

2. Installer omdrejningstal

For at installere den downloadede RPM, skal du bruge rpm kommando som vist nedenfor:

$ rpm -Uvh puppetlabs-release-el-7.noarch.rpm

3. Installer dukkemasteren

For at installere dukkemasteren skal du bruge yum kommando som vist nedenfor:

$ yum installere marionet-server

Dette installerer dukkemasteren i dit system. For at bekræfte det samme, kan du bruge rpm kommando som vist nedenfor:

$ rpm -qa | grep marionet-server marionet-server-3.8.7-1.el7.noarch

Udgangen viser den RPM-pakke, vi netop har installeret. For at kontrollere Puppet Master versionen kan vi bruge marionet - version kommando som vist nedenfor:

$ marionet - version 3.8.7

4. Start marionetmesteren

Når vi har fået Puppet Master installeret, kan vi starte PuppetMaster service med det samme.

$ service puppetmaster start # ELLER $ systemctl start puppetmaster

5. Tilføj tjenesten til opstart

Dette er bare for at sikre, at tjenesten PuppetMaster startes på hvert system genstart.

$ systemctl aktivere marionetmaster

Installation af marionetmæglerens knudepunkt

1. Download PuppetLabs pakke

For at downloade PuppetLabs-pakken skal du bruge wget kommando som vist nedenfor:

$ cd ~ $ wget http://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm

2. Installer omdrejningstal

For at installere den downloadede RPM, skal du bruge rpm kommando som vist nedenfor:

$ rpm -Uvh puppetlabs-release-el-7.noarch.rpm

3. Installer dukkemand

For at installere dukkemasteren skal du bruge yum kommando som vist nedenfor:

$ yum installere marionet

4. Konfigurer dukkermasteren i agentnoden

Nu har vi installeret dukkemand på en knude. Men det skal vide, hvilken marionetmester det skal henvise til for at hente konfigurationerne. Til dette skal vi bruge FQDN (Fully Qualified Domain Name) til marionetmesteren, som vi kan få fra DNS-serveren eller tilføje posten i / Etc / hosts. I dette tilfælde bruger vi den senere mulighed.

$ cat / etc / hosts 192.168.186.223 centos-server.example.com 192.168.186.224 centos-client.example.com

Nu skal vi i Puppet-konfigurationsfilen nævne hvilken marionetmester det skal henvise til, for at hente de node-specifikke konfigurationer. Vi gør dette ved at tilføje følgende linje i [agent] sektion af /etc/puppet/puppet.conf :

$ cat /etc/puppet/puppet.conf [main] ... ... server = centos-server.example.com ... ...

5. Start marionetagenten

Når vi har installeret Puppet Agent, kan vi starte marionet service straks.

$ service marionet start # ELLER $ systemctl start marionet

6. Tilføj tjenesten til opstart

Dette er bare for at sikre, at tjenesten marionet startes på hvert system genstart.

$ systemctl aktiver marionet

Skriv certifikaterne

Før en marionetknude kan bruge de konfigurationer, der er til stede på mesteren, skal marionetmester underskrive certifikatet, der er oprettet for agentnoden. For at se de usignerede certifikater kan du køre marionet cert liste kommando som nedenfor:

$ puppet cert list
"centos-client.example.com" (SHA256) CC:E8:31:4F:2A:0F:08:36:2E:A7:52:28:B8:84:EC:3F:89:51:6A:88:EB:B4:60:99:42:18:12:CF:B7:48:6F:4A

For at underskrive certifikatet fra centos-client.example.com, Kør marionet cert tegn kommando som nedenfor:

$ marionet cert sign sign centos-client.example.com Meddelelse: Underskrevet underskrevet certifikat for centos-client.example.com Bemærk: Fjernelse af fil Puppet :: SSL :: CertificateRequest centos-client.example.com på '/ var / lib / puppet /ssl/ca/requests/centos-client.example.com.pem'

Nu løber vi marionet cert liste kommando for at se om der er ændringer.

$ marionet cert liste

Så der er intet usigneret certifikat nu, hvilket tyder på, at vi har konfigureret marionetmesteren og agenten. Du kan bekræfte det samme ved at køre marionet agent -t kommando på dukkemandens knudepunkt.

$ marionet agent -t Info: Henter pluginfacts Info: Henter plugin Info: Cache-katalog til centos-client.example.com Info: Anvendelse af konfigurationsversion '1487459767' Bemærk: Færdig katalog kørt i 0.02 sekunder

Almindelig fejl

Når du kører kommandoen marionet agent -t, kan du komme under fejlmeddelelsen -
Fejl: Kunne ikke anmode om certifikat: Forbindelse afvist - tilslut (2)
Afslutning; mislykkedes at hente certifikat og ventetid er deaktiveret
For at løse dette skal du sikre, at-

  1. Ping er okay fra mester til agent og omvendt.
  2. Port 8140 er åben på master (netstat -nltap | grep 8140)
  3. Du kan telnet til port 8140 på master, fra agent node (telnet marionet-master-ip 8140).
  4. Hvis telnet ikke virker, kan du tilføje følgende regel til iptables - iptables -I INPUT -p tcp -m tcp --port 8140 -J ACCEPT

Kilde

Giv en kommentar

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.