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

Jak nainstalovat Puppet na CentOS 8 / RHEL 8

Puppet je open-source nástroj pro správu konfigurace, který nám pomáhá automatizovat IT infrastrukturu, včetně zajišťování, správy konfigurace a záplatování stovek klientských systémů z centrálního umístění.

Puppet je k dispozici pro operační systémy Linux, Mac, BSD, Solaris a Windows. Je napsán v jazyce „Ruby“ a je vydán pod licencí Apache,

Tato příručka vám pomůže nainstalovat Puppet na CentOS 8 / RHEL 8.

Architektura

Pupper je nakonfigurován v architektuře agent-master. V této architektuře spravované uzly spouštějí software loutkového agenta jako službu na pozadí. Na druhé straně jeden nebo více serverů provozuje hlavní aplikaci, tj. Loutkový server.

Loutkář pravidelně zasílá fakta loutkáři a požaduje katalog. Master zkompiluje a vrátí katalog daného konkrétního uzlu pomocí zdrojů informací, ke kterým má přístup.

Životní prostředí

Zde nakonfigurujeme loutku v architektuře Server/agent.

Mistr loutek

Název hostitele: loutkaserver.itzgeek.local

IP adresa: 192.168.0.10

Operační systém: CentOS 8

Loutkový klient

Název hostitele: client.itzgeek.local

IP adresa: 192.168.0.20

Operační systém: CentOS 8

Předpoklady

Instalovat NTP

Časování hlavních a klientských uzlů by mělo být přesně synchronizováno se serverem NTP, protože server Puppet bude vystupovat jako certifikační autorita.

Pokud potřebujete nastavit server NTP, pak:

ČTĚTE: Jak nakonfigurovat NTP server pomocí Chrony

Pokud potřebujete nastavit klienta NTP, pak:

ČTĚTE: Jak nakonfigurovat klienta NTP pomocí Chrony

V případě potřeby změňte také systémové časové pásmo.

ČTĚTE :Jak změnit časové pásmo v CentOS 8 / RHEL 8

DNS

Agent Puppet používá název hostitele ke komunikaci se serverem Puppet. Ujistěte se tedy, že uzly agentů mohou přeložit název hostitele loutkového serveru pomocí souboru /etc/hosts nebo serveru DNS.

Instalace a konfigurace loutkového serveru

Puppet Server je serverový software, který běží na hlavním uzlu. Puppet Server řídí konfigurace spravovaných uzlů (puppet-agent).

Přidat úložiště

Abychom mohli nainstalovat Puppet Server, museli bychom přidat loutkové úložiště instalací konfiguračního balíčku úložiště.

rpm -Uvh https://yum.puppet.com/puppet6-release-el-8.noarch.rpm

Instalovat loutku

Nainstalujte server Puppet pomocí níže uvedeného příkazu.

yum install -y puppetserver

Přidělení paměti

Ve výchozím nastavení je Puppet Server nakonfigurován tak, aby používal 2 GB paměti. Alokaci paměti můžete změnit na základě počtu připojených uzlů.

Pro toto demo přidělím 512 MB paměti.

Chcete-li změnit hodnotu přidělení paměti, upravte níže uvedený soubor.

vi /etc/sysconfig/puppetserver

Změňte hodnotu.

Od:

JAVA_ARGS="-Xms2g -Xmx2g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger"

Komu:

Pro 512 MB použijte níže uvedená nastavení.

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

Konfigurovat loutkový server

Konfigurační soubor Puppet se skládá ze dvou částí nazvaných [master] a [main] pro server Pupper a agenta.

vi /etc/puppetlabs/puppet/puppet.conf

Upravte soubor podle vašeho prostředí. Agenti Pupper mohou pro připojení k serveru Pupper použít kterýkoli z názvů hostitelů uvedených v dns_alt_names.

# Pupper Server Configuration
[master]
dns_alt_names = puppetserver,puppetserver.itzgeek.local

# Puppet Agent Configuration
[main]
certname = puppetserver.itzgeek.local
server = puppetserver.itzgeek.local
runinterval = 30m

Spustit loutkový server

Vygenerujte kořenovou a přechodnou podepisovací certifikační autoritu pro loutkový server.

puppetserver ca setup
Output:

Generation succeeded. Find your files in /etc/puppetlabs/puppet/ssl/ca
Pokud se vám zobrazí příkaz puppetserver:not found, spusťte zdrojový soubor /etc/profile.d/puppet-agent.sh v terminálu nebo se odhlaste z aktuální relace a přihlaste se zpět.

Spusťte a povolte Puppet Server.

systemctl start puppetserver

systemctl enable puppetserver

Firewall

Server Puppet naslouchá na portu 8140. Nakonfigurujte tedy firewall tak, aby se agenti mohli připojit k hlavnímu serveru.

firewall-cmd --permanent --add-port=8140/tcp

firewall-cmd --reload

Instalace a konfigurace Puppet Agent

Přidat úložiště

Abychom mohli nainstalovat agenta Puppet, museli bychom přidat úložiště loutek na všechny uzly.

rpm -Uvh https://yum.puppet.com/puppet6-release-el-8.noarch.rpm

Instalovat agenta

Nainstalujte loutkového agenta na svého klienta pomocí níže uvedeného příkazu.

dnf install -y puppet-agent

Upravte konfigurační soubor loutky a nastavte informace o serveru Puppet.

Nastavte hodnotu serveru podle názvu hostitele serveru Puppet. V mém případě je server puppetserver.itzgeek.local a certname je název hostitele mého klienta (client.itzgeek.local).

vi /etc/puppetlabs/puppet/puppet.conf

Nastavte jako níže.

[main]
server = puppetserver.itzgeek.local
certname = client.itzgeek.local
runinterval = 30m

Hodnotu intervalu běhu můžete změnit v závislosti na požadavku. Toto nastavení řídí, jak dlouho by měl agent čekat mezi dvěma požadavky na katalog. Hodnotu můžete nastavit v sekundách (10 nebo 10s), minutách (10m) a hodinách (1h).

Spusťte loutkového agenta na uzlu a zajistěte, aby se automaticky spustil při spouštění systému.

puppet resource service puppet ensure=running enable=true
Output:

Notice: /Service[puppet]/ensure: ensure changed 'stopped' to 'running'
service { 'puppet':
  ensure   => 'running',
  enable   => 'true',
  provider => 'systemd',
}
Pokud dostanete puppet:command not found, spusťte zdrojový /etc/profile.d/puppet-agent.sh v terminálu nebo se odhlaste z aktuální relace a přihlaste se zpět.

Podepsat certifikát uzlu agenta na hlavním serveru

Musíme schválit žádost o certifikát přicházející z každého uzlu. Agentní uzly si vyžádají certifikáty poprvé, pokud se pokusí spustit.

Spusťte níže uvedený příkaz na uzlu agenta a vytvořte počáteční připojení. Varování/chyby můžete ignorovat.

puppet agent -t

Přihlaste se na server Pupper a spusťte níže uvedený příkaz pro zobrazení nevyřízených požadavků.

puppetserver ca list
Output:

Requested Certificates:
    client.itzgeek.local       (SHA256)  06:D8:8E:AE:CA:0B:B1:E7:90:B5:B9:1B:75:3C:95:69:D8:EF:27:0A:5D:CC:45:BB:15:34:64:D2:6B:2C:CA:98

Spusťte příkaz puppet cert sign k podepsání požadavku.

puppetserver ca sign --certname client.itzgeek.local
Output:

Successfully signed certificate request for client.itzgeek.local

Server Puppet nyní může komunikovat s klientským počítačem a ovládat uzel.

Pokud máte od uzlů více požadavků na podpis, můžete všechny požadavky podepsat jedním příkazem.

puppetserver ca sign --all

Někdy může být nutné zrušit certifikát konkrétního uzlu, abyste je mohli přečíst zpět.

Nahraďte názvem hostitele svého klienta.

puppetserver ca revoke --certname AGENT_NAME

Pomocí níže uvedeného příkazu můžete vypsat všechny podepsané a nepodepsané požadavky.

puppetserver ca list --all
Output:

Signed Certificates:
    puppetserver.itzgeek.local       (SHA256)  E6:2C:6C:1E:9B:C6:AA:D9:84:09:F3:67:45:1B:36:C6:1F:FB:46:5F:92:64:37:19:E3:74:0C:0D:29:D5:C5:F6  alt names: ["DNS:puppetserver.itzgeek.local", "DNS:puppetserver", "DNS:puppetserver.itzgeek.local"]  authorization extensions: [pp_cli_auth: true]
    client.itzgeek.local             (SHA256)  EF:D8:1A:F2:E9:56:A3:1F:DA:A9:8D:9B:71:02:D8:52:F1:44:98:92:A7:5F:DE:FC:5F:55:37:97:EC:9C:9A:96

Ověřit klienta loutky

Jakmile Puppet Server podepíše váš klientský certifikát, spusťte na klientském počítači následující příkaz a otestujte jej.

puppet agent --test
Output:

Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Retrieving locales
Info: Caching catalog for client.itzgeek.local
Info: Applying configuration version '1591351483'
Notice: Applied catalog in 0.01 seconds

Závěr

To je Al. Doufám, že jste se naučili, jak nainstalovat Puppet na CentOS 8 / RHEL 8. V dalším čtení se dozvíte, jak vytvořit jednoduchý soubor manifestu pro vytvoření souboru a adresáře na klientském uzlu. Podělte se o svůj názor v sekci komentářů.


Cent OS
  1. Jak nainstalovat DNS server na RHEL 8 / CentOS 8 Linux

  2. Jak nainstalovat Puppet 6.x na CentOS 7 / RHEL 7

  3. Jak nainstalovat Puppet na RHEL 8/CentOS 8

  1. Jak nainstalovat poštovní server Postfix na RHEL 8 / CentOS 8

  2. Jak nainstalovat vnc server na RHEL 8 / CentOS 8

  3. CentOS / RHEL 7:Jak nainstalovat GUI

  1. Jak nainstalovat Nextcloud na server RHEL 8 / CentOS 8

  2. Jak nainstalovat OwnCloud na server RHEL 8 / CentOS 8

  3. Jak nainstalovat PostgreSQL server na RHEL 8 / CentOS 8