Installer Puppet Server på CentOS 7

Puppet er et verktøy utviklet for å administrere konfigurasjonen av Unix-lignende og Microsoft Windows-systemer declaratively. Brukeren beskriver systemressurser og deres tilstand, enten ved å bruke Puppet er deklarative språk eller en Ruby DSL (domenespesifikke språk). Denne informasjonen blir lagret i filer som kalles "Puppet manifesterer". Puppet oppdager systeminformasjon via et verktøy kalt facter, og kompilerer Puppet manifesterer inn en systemspesifikk katalog som inneholder ressurser og ressursavhengighet, som brukes mot målet systemer. Handlinger utført av Puppet blir så rapportert
Scenario
I denne opplæringen jeg kommer til å bruke to systemer som
nevnt nedenfor Puppet Master:..

 Operativsystem: CentOS 7 minimal installationIP Adresse : 10.1.1.200/24Puppet klient: 
 Operativsystem: CentOS 7 minimal installationIP Adresse: 10.1.1.154/24

Add Puppet depot til din Centos Machine:
For Centos 7:
rpm ivh https://yum.puppetlabs.com/el/7/products/x86_64/puppetlabs-release-7-11.noarch.rpmInstall Puppet Master:
# Last ned marionett-server fra Puppet Labs
< pre> yum install -y marionett-server # start Puppet-Server
Centos 7:
systemctl starte puppetmaster.service # Sett Puppet Master til å kjøre ved oppstart

 dukke ressurs tjeneste puppetmaster sikre = kjører aktiver = true ------------------------------------------------ ------------------------------- /tjeneste [puppetmaster] /sikre: sikre endrede 'sluttet' til 'running'service { 'puppetmaster': sikre = > «stoppet», aktiver = > "sann",} Puppet trenger en skalerbar web server i et ikke testing miljø, så kan installere apache (Offisielle dokumenter): 
# Last ned apache og nødvendige avhengig
 yum install -y httpd httpd-devel mod_ssl ruby-devel RubyGems gcc-c ++ curl-devel zlib-devel make auto OpenSSL-devel # Installer Rack /Passasjer 
 perle installere stativ passasjer ----------------- ------------------------------------ perle installere stativ passengerSuccessfully installert rack 1.5.2Building innfødte utvidelser. Dette kan ta en stund ... Vellykket installert passasjer-4.0.352 gems installedInstalling ri dokumentasjon for rack 1.5.2 ... Så 
passasjer-install-apache2-modul
 [root @ Unixmen- centos7 yum.repos.d] # passenger-install-apache2-module---------------------------------------------------------------------------------------Welcome til Phusion Passenger Apache 2 modul installasjonsfil vil v4.0.35.This installatør veilede deg gjennom hele installasjonsprosessen. Itshouldn't ta mer enn 3 minutter i total.Here er hva du kan forvente fra installasjonsprosessen: 1. The Apache 2 Modulen vil bli installert for deg. 2. Du vil lære hvordan Apache. 3. Du vil lære hvordan du distribuerer en Ruby on Rails application.Don't bekymre deg hvis noe går galt. Dette installasjonsprogrammet vil gi deg råd om hvordan tosolve noen problems.Press Enter for å fortsette, eller Ctrl-C for å abort.Use < plass > til select.If menyen ikke vises riktig, trykker du '!' ‣ ⬢ Ruby ⬢ Python ⬡ Node.js ⬡ Meteor --------------------------------------- ----- Ser etter nødvendig programvare ... * Ser etter C-kompilator ... Funnet: ja Sted: /usr /bin /cc * Kontrollere for C ++ kompilator ... Funnet: ja Sted: /usr /bin /c ++ * Kontrollere for Curl utviklings overskrifter med SSL-støtte ... Funnet: ja curl-config plassering: /usr /bin /curl-config Header plassering: /usr/include/curl/curl.h Versjon: libcurl 7.29.0 BOLIG: ja Støtter SSL: ja * Kontrollere for OpenSSL utviklings overskrifter ... Funnet: ja Sted: /usr/include/openssl/ssl.h * Kontrollere for ZLIB utviklings overskrifter ... Funnet: ja Sted: /usr/include/zlib.h * Kontrollere for Apache 2 ... Funnet: ja Plassering av httpd: /usr /sbin /httpd Apache versjon: 2.4.6 * Kontrollere for Apache 2 utviklings overskrifter ... Funnet: ja Plassering av apxs2: /usr /bin /apxs * Kontrollere for Rake (assosiert med /usr /bin /ruby) ... Funnet: ja Sted: /usr /bin /ruby ​​/usr /local /bin /rake * Kontrollere for OpenSSL støtte for Ruby ... Funnet: ja * Ser etter RubyGems ... Funnet: ja * Kontrollere for Ruby utvikling overskrifter ... Funnet: ja Sted: /usr/include/ruby.h * Ser etter stativ ... Funnet: ja * Kontrollere for Apache Portable Runtime (APR) utvikling overskrifter ... Funnet: ja Sted: /usr /bin /Apr-en-config Versjon: 1.4.8 * Kontrollere for Apache Portable Runtime Utility (APU) utviklings overskrifter ... Funnet: ja Sted: /usr /bin /APU-en-config Versjon: 1.5.2Create en virtuell host fil for dukketeater: 
 VI /etc/httpd/conf.d/puppetmaster.confand legge til: 
 # RHEL /CentOS: LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-4.0.35/buildout/apache2/mod_passenger.soPassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-4.0.35/PassengerRuby /usr /bin /ruby ​​# Og tuning innstillinger passasjer ytelses: PassengerHighPerformance OnPassengerUseGlobalQueue På # Sett denne til ca 1,5 ganger antall prosessorkjerner i din herre: PassengerMaxPoolSize 6 # Recycle mester prosesser etter at de tjenesteytere 1000 requestsPassengerMaxRequests 1000 # stoppe prosesser hvis de sitter inaktiv i 10 minutesPassengerPoolIdleTime 600Listen 8140 < virtuellverten *: 8140 > SSLEngine På # Kun tillate høy sikkerhet kryptografi. Endre hvis nødvendig for kompatibilitet. SSLProtocol All -SSLv2 SSLCipherSuite HIGH: ADH: RC4 + RSA: -Medium: -Lav: -EXP SSLCertificateFile /var/lib/puppet/ssl/certs/unixmen-centos7.arnhem.chello.nl.pem SSLCertificateKeyFile /var /lib /puppet/ssl/private_keys/unixmen-centos7.arnhem.chello.nl.pem SSLCertificateChainFile /var/lib/puppet/ssl/ca/ca_crt.pem SSLCACertificateFile /var/lib/puppet/ssl/ca/ca_crt.pem SSLCARevocationFile /var /lib /dukketeater /ssl /CA /ca_crl.pem SSLVerifyClient valgfritt SSLVerifyDepth 1 SSLOptions + StdEnvVars + ExportCertData # Disse forespørselshodene brukes til å passere klientsertifikatet # autentiseringsinformasjon videre til Puppet Master prosessen RequestHeader sett X-SSL-emne% {SSL_CLIENT_S_DN} e RequestHeader sett X-Client-DN% {SSL_CLIENT_S_DN} e RequestHeader sett X-Client-Kontroller% {SSL_CLIENT_VERIFY} e #RackAutoDetect På Document /usr /share /dukketeater /stativ /puppetmasterd /public /< /usr /share /dukketeater /stativ /puppetmasterd /> Alternativer Ingen AllowOverride Ingen Bestill Tillat, nekter Allow All < /Directory > < /virtuellvert > Legg dukken HTTPS-porten til brannmur: 
brannmur-cmd --zone = offentlig --add-port = 8140 /tcp --permanentfirewall-cmd --reloadStart opp Apache:
 /etc/init.d/puppetmaster stoppe /etc /init.d /httpd startDisable WEBrick og aktivere Apache on boot: 
 chkconfig puppetmaster offchkconfig httpd onMake at porten er åpen, og det er å lytte: 
 lsof -i tcp: 8140COMMAND PID BRUKER FD type enhet STØRRELSE /OFF NODE NAMEhttpd 8743 root 6u IPv6 74005 0T0 TCP *: 8140 (LYTTE) httpd 8747 apache 6u IPv6 74005 0T0 TCP *: 8140 (LYTTE) httpd 8748 apache 6u IPv6 74005 0T0 TCP *: 8140 (LYTTE) httpd 8749 apache 6u IPv6 74005 0T0 TCP *: 8140 (LYTTE) httpd 8750 apache 6u IPv6 74005 0T0 TCP *: 8140 (LYTTE) httpd 8751 apache 6u IPv6 74005 0T0 TCP *: 8140 (LYTTE) httpd 8752 apache 6u IPv6 74005 0T0 TCP *: 8140 (LYTTE) httpd 8753 apache 6u IPv6 74005 0T0 TCP *: 8140 (LYTTE) httpd 8754 apache 6u IPv6 74005 0T0 TCP *: 8140 (LYTTE) httpd 8755 apache 6u IPv6 74005 0T0 TCP *: 8140 (LYTTE) ZZAppend dette til slutten av filen: 
 vim /etc/puppet/puppet.conf[master] certname = marionett-server #Use FQDN hereautosign = trueCheck Apache-konfigurasjonen med en apachectl configtest og igjen fikse eventuelle feil du støter 

Nå, kopiere Rack config:.

 cp /usr /share /dukketeater /ext /stativ /config.ru /usr /share /dukketeater /stativ /puppetmasterd /

Gi Puppet riktig tillatelse til å få tilgang til Rack config:

 chown dukketeater: dukketeater /usr /share /dukketeater /stativ /puppetmasterd /config.ruClient Node installere 
Tilsett dukketeater labs repo:
rpm ivh https://yum.puppetlabs.com/el/7/products/x86_64/puppetlabs-release-7- 11.noarch.rpm


Installer Puppet Client.

 yum install -y puppetIf du ikke bruker DNS i envrionment, må du manuelt redigere hosts-filen på begge maskinene 
 vim /etc/hosts10.1.xx node10.1.xy marionett-serverEdit /etc/puppet/puppet.conf og legge agent variabler: 
 vim /etc /dukketeater /marionett. conf # I [agenten] sectionserver = marionett-server #Should være FQDN rapportere = truepluginsync = trueSet dukken agent til å kjøre på boot: 
 chkconfig dukketeater onpuppet agenten --daemonizeNow teste klienten: 
 puppet agenten -tInfo: Caching sertifikat for caInfo: csr_attributes fil lasting fra /etc/puppet/csr_attributes.yamlInfo: Opprette en ny SSL-sertifikat forespørsel om localhost.unixmen.comInfo: Certificate Request fingeravtrykk (SHA256): 51: E3 : 75: 7D: EC: BA: 1F: 68: B1: 94: 5E: 4D: 1F: 84: 53: 07: F6: 67: 18: AB: 12: 6A: B6: 89: 05: D9: 19 : 9F: 30: DB: 7A: F8Info: Caching sertifikat for caExiting; ingen sertifikat funnet og waitforcert er deaktivert 

Se og gjelde fra The Puppet Gubben:

 [root @ unixmen-centos7 konserter] # puppet cert list "localhost.triennium.com" (SHA256) 51:E3:75:7D:EC:BA:1F:68:B1:94:5E:4D:1F:84:53:07:F6:67:18:AB:12:6A:B6:89:05:D9:19:9F:30:DB:7A:F8[root@unixmen-centos7 konserter] # dukketeater Cert signere --allNotice: Signert sertifikat forespørsel om localhost.unixmen.comNotice: Fjerne fil Puppet :: SSL :: CertificateRequest localhost.unixmen.com på '/var /lib /dukketeater /SSL /CA /forespørsler /localhost .unixmen.com.pem '

Enjoy! Anmeldelser