GNU/Linux >> Znalost Linux >  >> Cent OS

Nainstalujte a nakonfigurujte Puppet na CentOS 7 / RHEL 7

Tento návod je pro starou verzi Puppet Master, některé odkazy jsou nefunkční a nemusí fungovat. Nová verze je k dispozici zde:Jak nainstalovat Puppet 4.x na CentOS 7 / RHEL 7.

Puppet je bezplatný a otevřený nástroj pro správu konfigurace, který vám pomůže centrálně nasadit a spravovat konfigurace stovek klientských systémů. Je k dispozici pro GNU/Linux, Mac, BSD, Solaris a počítačové systémy založené na Windows, vydané pod licencí Apache, napsané v jazyce „Ruby“. Tato příručka vám pomůže nainstalovat loutku na CentOS 7 / RHEL 7.

Architektura loutky:

Agent / Master:

V této architektuře jeden nebo více serverů provozuje loutkovou hlavní aplikaci, obvykle jako Rack aplikaci spravovanou webovým serverem (jako Apache s Passenger) a aplikace loutkového agenta běží na klientských serverech, obvykle jako služba na pozadí.

Loutkář bude pravidelně zasílat fakta loutkáři a požadovat katalog. Master zkompiluje a vrátí katalog tohoto uzlu pomocí několika zdrojů informací, ke kterým má přístup.

Samostatná architektura:

V této architektuře klientské servery spouštějí loutkovou aplikaci (samostatnou kombinaci aplikací loutkového mistra a loutkového agenta), obvykle jako naplánovanou úlohu nebo úlohu cron.

Prostředí:

Zde vám ukážu, jak nakonfigurovat loutku v architektuře master / agent. V tomto tutoriálu budu používat dva systémy CentOS 7, jak je uvedeno níže.

Puppet Master:

Operační systém:CentOS 7 MinimalIP Address       :192.168.12.10HostName         :server.itzgeek.local

Loutkový klient:

Operační systém:CentOS 7 MinimalIP Address       :192.168.12.20HostName         :client.itzgeek.local

Předpoklady:

Nakonfigurujte úložiště EPEL na CentOS 7 / RHEL 7.

Ujistěte se, že váš systém (loutkový server i klient) je schopen vzájemně rozlišit název hostitele, použijte soubor /etc/hosts nebo server DNS .

Abychom měli připravené produkční nastavení loutky, musíme použít apache s pasažérem. Chcete-li získat cestujícího, stáhněte si a umístěte repo soubor do /etc/yum.repos.d/

Poznámka:Pouze na hlavním serveru.

[root@server ~]# curl --fail -sSLo /etc/yum.repos.d/passenger.repo https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repo 

Pro instalaci loutkového mistra / agenta bychom vyžadovali nastavení úložiště loutek na všech uzlech. Povolte úložiště loutkových laboratoří instalací pod rpm.

Poznámka:Spusťte jej na hlavním uzlu i na uzlu agenta.

# rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm

Nainstalujte a nakonfigurujte Puppet na CentOS 7:

Nyní je čas nainstalovat loutku. Nainstalujte loutkový server pomocí níže uvedeného příkazu.

[root@server ~]# yum -y instalace loutkového serveru

Jak již bylo řečeno dříve, nakonfigurujeme loutku pro architekturu master / agent. Tento uzel tedy bude fungovat jako hlavní uzel. Upravte konfigurační soubor loutky a upravte dns_alt_names .

[root@server ~]# vi /etc/puppet/puppet.conf[main]dns_alt_names =server,server.itzgeek.local certname =server.itzgeek.local 

Pokud je tento stroj jediným loutkovým mistrem ve vašem prostředí, spusťte níže uvedený příkaz a vytvořte certifikát loutkového mistra.

[root@server ~]# puppet master --verbose --no-daemonizeInfo:Vytvoření nového klíče SSL pro caInfo:Vytvoření nového požadavku na certifikát SSL pro caInfo:Otisk žádosti o certifikát (SHA256):81:C6:BB :8B:1D:71:4C:64:E1:13:54:1B:EC:CF:99:D8:85:90:D1:6C:E8:85:50:3E:03:41:BA:C5 :47:A7:4C:E5Upozornění:Podepsaná žádost o certifikát pro caInfo:Vytvoření nového seznamu odvolání certifikátuInfo:Vytvoření nového klíče SSL pro server.itzgeek.localInfo:Načítání souboru csr_attributes z /etc/puppet/csr_attributes.yamlInfo:Vytvoření nového Žádost o certifikát SSL pro server.itzgeek.localInfo:Otisk žádosti o certifikát (SHA256):FF:BE:D4:9B:E4:12:83:79:AE:BE:50:17:76:5F:F5:CD:5F :53:EA:5D:AA:5D:87:9E:7C:C4:BC:1B:8A:C6:FA:5CNotice:server.itzgeek.local čeká na žádost o certifikátUpozornění:Podepsaná žádost o certifikát pro server.itzgeek. localNotice:Odebírání souboru Puppet::SSL::CertificateRequest server.itzgeek.local na '/var/lib/puppet/ssl/ca/requests/server.itzgeek.local.pem'Notice:Odstraňování souboru Puppet::SSL::CertificateRequest server.itzgeek.local na '/var/lib/puppet/ssl/certificate_requests/server.itzgeek.local.pem'Upozornění:Spouštění Puppet master verze 3.8.3

Jakmile získáte „Upozornění:Spouštění hlavní verze loutky “, stiskněte ctrl-C zabít proces.

Konfigurace webového serveru připraveného na produkci:

Puppet je dodáván se základním webovým serverem loutkového hlavního serveru, ale nelze jej použít pro reálné zatížení. Než začneme spravovat naše uzly pomocí Puppet, musíme nakonfigurovat webový server v produkční kvalitě.

[root@server ~]# yum -y install httpd httpd-devel mod_ssl ruby-devel rubygems gcc gcc-c++ pygpgme curl

Nainstalujte modul Passenger a apache.

[root@server ~]# instalace yum -y mod_passenger

Vytvořte pro aplikaci tři adresáře (nadřazený adresář, „veřejný“ adresář a adresář „tmp“ ), Zkopírujte soubor ext/rack/config.ru ze zdrojového kódu Puppet do nadřazeného adresáře a nastavte vlastnictví souboru config.ru.

[root@server ~]# mkdir -p /usr/share/puppet/rack/puppetmasterd[root@server ~]# mkdir /usr/share/puppet/rack/puppetmasterd/public /usr/share/puppet/ rack/puppetmasterd/tmp[root@server ~]# cp /usr/share/puppet/ext/rack/config.ru /usr/share/puppet/rack/puppetmasterd/[root@server ~]# chown puppet:puppet / usr/share/puppet/rack/puppetmasterd/config.ru

Přidejte virtuálního hostitele pro loutku vytvořením níže uvedeného konfiguračního souboru.

[root@server ~]# vi /etc/httpd/conf.d/puppetmaster.conf

Přidejte obsah níže do souboru virtuálního hostitele, změňte zelenou barevné položky podle vašeho prostředí.

# tato nastavení pravděpodobně budete chtít vyladitPassengerVysokýVýkon naPasažérMaxVelikost bazénu 12PassengerPoolDoba nečinnosti 1500# PassengerMaxRequests 1000PassengerStatThrottleRate 120Poslouchat 8140  SSLEngine na SSLProtocol ALL -SSLv2 -SSLv3 SSLCipherSuite EDH + CAMELLIA:EDH + Arsa:EECDH + Arsa + AESGCM:EECDH + Arsa + SHA384:EECDH + Arsa + SHA256:EECDH:+ CAMELLIA256:+ AES256:+ CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!IDEA:!ECDSA:kEDH:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA        SSLHonorCipherOrder     na        SSLCertificateFile      /var/lib/puppet/ssl/certs/server.pitzgeem SSLCertificateKeyFile   /var/lib/puppet/ssl/private_keys/server.itzgeek.local.pem SSLCertificateChainFile /var/lib/puppet/ssl/ca/ca_crt.pem SSLCACertificateFile   /var/lib/puppet/ssl/ca/ca_crt.pem # Pokud si Apache stěžuje na neplatné podpisy v CRL, můžete zkusit deaktivovat        # Kontrola CRL komentářem na dalším řádku, ale nedoporučuje se to. SSLCARevocationFile     /var/lib/puppet/ssl/ca/ca_crl.pem # Apache 2.4 zavádí direktivu SSLCARevocationCheck a nastavuje ji na hodnotu none        #, která účinně deaktivuje kontrolu CRL; pokud používáte Apache 2.4+, musíte        # specifikovat 'SSLCARevocationCheck chain', abyste CRL skutečně použili. # SSLCarevocationCheck Chain SSLVERIFYCLIENT Volitelný SSLVERIFYDEPTH 1 # `ExportCertData` možnost pro vypršení agenta pro osvědčení agenta SSLoptions +stdenvvars +exportData # Tato záhlaví musí být nastavena -Předmět %{SSL_CLIENT_S_DN}e        Sada RequestHeader X-Client-DN %{SSL_CLIENT_S_DN}e        RequestHeader sada X-Client-Verify %{SSL_CLIENT_VERIFY}e petr      Petr       Pot.> RackBaseURI /        /usr/share/puppet/rack/puppetmasterd/>                Možnosti Žádné                AllowOverride Žádné                 Objednat povolit, odepřít                 povolit ze všech                         

Restartujte apache server, aby se projevil efekt loutkového virtuálního hostitele, k tomu spusťte následující příkaz na terminálu.

[root@server ~]# restart systemctl  httpd.service

Zakažte službu loutky a povolte automatické spouštění serveru Apache při spouštění systému.

[root@server ~]# systemctl zakázat puppet.service[root@server ~]# systemctl povolit httpd.service

Firewall:

Loutka poslouchá na portu č. 8140; Nakonfigurujte tabulky IP tak, aby to umožňovaly.

[root@server ~]# firewall-cmd --zone=public --add-port=8140/tcp --permanent[root@server ~]# firewall-cmd --reload

Instalovat loutku na uzly agentů:

Na vašem klientském počítači nainstalujte loutkového agenta pomocí níže uvedeného příkazu.

Poznámka:V uzlech agentů musíte mít nakonfigurované úložiště loutek.

[root@client ~]# yum -y nainstalovat loutku

Upravte konfigurační soubor loutky a nastavte informace o hlavní loutce ve stanze klienta.

Poznámka:Upravte hodnotu „server“ podle svého prostředí. V mém případě je server „server.itzgeek.local“

[root@client ~]# vi /etc/puppet/puppet.conf[agent]server =server.itzgeek.local 

Spusťte loutku na uzlu agenta a nechte ji automaticky spouštět při zavádění systému.

[root@client ~]# systemctl start  puppet.service[root@client ~]# systemctl povolit puppet.service

Dostanete se pod události v protokolech.

Oct 21 05:46:45 client systemd:Starting Puppet agent...Oct 21 05:46:46 client systemd:Start Puppet agent.Oct 21 05:47:03 client systemd:Reloading.Oct 21 05:49 :10 client puppet-agent[2694]:Neobdrželi certifikát

Podepište certifikát uzlu agenta na hlavním serveru:

V nasazení agent/master musí správce schválit žádost o certifikát pro každý uzel agenta, než může tento uzel načíst konfigurace. Agentní uzly budou vyžadovat certifikáty při prvním pokusu o spuštění.

Přihlaste se do hlavního serveru loutek a spusťte níže uvedený příkaz pro zobrazení nevyřízených požadavků.

[root@server ~]# loutkový cert list"client.itzgeek.local" (SHA256) D4:88:EC:C5:0A:F7:5D:4E:32:C5:B3:61:E0:51 :7B:0C:CD:B3:49:9E:68:0B:E7:5D:75:19:1D:0B:92:8A:E7:C1

Spusťte loutkový certifikační znak pro podepsání žádosti nebo loutkový certifikační znak – vše pro podepsání všech čekajících požadavků.

[root@server ~]# loutkový certifikační znak client.itzgeek.localNotice:Podepsaná žádost o certifikát pro client.itzgeek.localNotice:Odebírání souboru Puppet::SSL::CertificateRequest client.itzgeek.local na '/var/lib/ puppet/ssl/ca/requests/client.itzgeek.local.pem'

Spuštěním následujícího příkazu na klientském počítači zkontrolujte certifikát

[root@client ~]# loutkový agent -tInfo:Ukládání certifikátu pro client.itzgeek.localInfo:Ukládání do mezipaměti Certificate_revocation_list pro caInfo:Ukládání certifikátu pro client.itzgeek.localInfo:Načítání pluginfactsInfo:Načítání pluginInfo:Ukládání katalogu pro client.itzgeek .localInfo:Použití konfigurační verze '1445401911'Info:Vytváření stavového souboru /var/lib/puppet/state/state.yamlNotice:Spuštění katalogu dokončeno za 0,09 sekund

To je vše. Nyní jste úspěšně nakonfigurovali loutkového mistra a agenta. Je čas vytvořit manifest (konfigurace klienta). Zůstaňte naladěni.

Tento návod je pro starou verzi Puppet Master, některé odkazy jsou nefunkční a nemusí fungovat. Nová verze je k dispozici zde:Jak nainstalovat Puppet 4.x na CentOS 7 / RHEL 7.
Cent OS
  1. Instalace a konfigurace FTP serveru na CentOS 7 / RHEL 7 – (vsftpfd)

  2. CentOS / RHEL 7 :Jak nainstalovat a nakonfigurovat telnet

  3. Jak nainstalovat a nakonfigurovat Sambu v CentOS / RHEL

  1. Nainstalujte a nakonfigurujte HAProxy na RHEL 8 / CentOS 8 Linux

  2. Jak nainstalovat a nakonfigurovat R na RHEL 8 / CentOS 8 Linux System

  3. Jak nainstalovat Puppet na RHEL 8 / CentOS 8

  1. Jak nainstalovat a nakonfigurovat sambu na RHEL 8 / CentOS 8

  2. Nainstalujte a nakonfigurujte VNC Server v CentOS 7 a RHEL 7

  3. Jak nainstalovat a nakonfigurovat oVirt 4.0 na CentOS 7 / RHEL 7