Puppet je bezplatný automatický administrativní nástroj s otevřeným zdrojovým kódem pro operační systémy Linux, Unix a Windows. Používá se pro nasazení, konfiguraci a správu serverů a provádí administrativní úlohy, jako je přidávání uživatelů, instalace balíčků a mnoho dalších. Pomáhá systémovým administrátorům uvolnit čas a duševní prostor automatizací úloh na tisících fyzických a virtuálních počítačů. Používá model klient-server. Kde Puppet master řídí konfigurační informace pro Puppet agenty, zatímco Puppet agenti mluví a stahují konfigurační profily z Puppet master.
V tomto tutoriálu vysvětlíme, jak nainstalovat Puppet server a agenta na server Ubuntu 20.04.
Předpoklady
- Dva servery se systémem Ubuntu 20.04.
- Na obou serverech je nakonfigurováno heslo uživatele root.
Začínáme
Nejprve budete muset aktualizovat všechny balíčky na Puppet master a Puppet klientských systémech. Můžete je aktualizovat spuštěním následujícího příkazu:
apt-get update -y
Jakmile jsou všechny balíčky aktuální, můžete přejít k dalšímu kroku.
Nastavit rozlišení názvu hostitele
Dále budete muset nastavit název hostitele na obou uzlech. Každý uzel tedy může mezi sebou komunikovat pomocí názvu hostitele. Můžete to udělat úpravou souboru /etc/hosts na obou uzlech:
nano /etc/hosts
Přidejte následující řádky na oba uzel:
puppet-master-ip puppetmaster puppet puppet-client-ip puppetclient
Po dokončení uložte a zavřete soubor. Poté můžete přejít k dalšímu kroku.
Instalovat loutkový server
Nejprve budete muset nainstalovat server Puppet na hlavní uzel. Ve výchozím nastavení není balíček Puppet dostupný ve výchozím úložišti Ubuntu 20.04. Takže budete muset nainstalovat repozitář Puppet na váš server.
Nejprve si stáhněte nejnovější verzi Puppet pomocí následujícího příkazu:
wget https://apt.puppetlabs.com/puppet6-release-focal.deb
Jakmile je balíček stažen, nainstalujte jej spuštěním následujícího příkazu:
dpkg -i puppet6-release-focal.deb
Po dokončení instalace aktualizujte úložiště a nainstalujte server Puppet spuštěním následujícího příkazu:
apt-get update -y
apt-get install puppetserver -y
Po instalaci serveru Puppet budete muset změnit velikost alokace paměti procesu Puppet Java. Můžete to udělat úpravou souboru /etc/default/puppetserver:
nano /etc/default/puppetserver
Změňte velikost paměti na 1 g, jak je znázorněno níže:
JAVA_ARGS="-Xms1g -Xmx1g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger"
Po dokončení uložte a zavřete soubor. Poté spusťte službu Puppet a povolte její spuštění při restartu systému pomocí následujícího příkazu:
systemctl start puppetserver
systemctl enable puppetserver
Dále můžete ověřit stav služby Puppet pomocí následujícího příkazu:
systemctl status puppetserver
Měli byste vidět následující příkaz:
? puppetserver.service - puppetserver Service Loaded: loaded (/lib/systemd/system/puppetserver.service; disabled; vendor preset: enabled) Active: active (running) since Sat 2020-09-05 09:33:55 UTC; 3s ago Process: 3673 ExecStart=/opt/puppetlabs/server/apps/puppetserver/bin/puppetserver start (code=exited, status=0/SUCCESS) Main PID: 3715 (java) Tasks: 42 (limit: 4915) Memory: 962.3M CGroup: /system.slice/puppetserver.service ??3715 /usr/bin/java -Xms2g -Xmx2g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger -XX:OnOutOfMemoryError="kill> Sep 05 09:33:08 puppetmaster systemd[1]: Starting puppetserver Service... Sep 05 09:33:55 puppetmaster systemd[1]: Started puppetserver Service.
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Instalace a konfigurace Puppet Agent
V tomto okamžiku je server Puppet nainstalován a nakonfigurován. Nyní budete muset nainstalovat agenta Puppet na klientský uzel.
Nejprve si stáhněte a nainstalujte repozitář Puppet pomocí následujícího příkazu:
wget https://apt.puppetlabs.com/puppet6-release-focal.deb
dpkg -i puppet6-release-focal.deb
Dále aktualizujte úložiště a nainstalujte agenta Puppet spuštěním následujícího příkazu:
apt-get update -y
apt-get install puppet-agent -y
Po instalaci Puppet agenta budete muset upravit konfigurační soubor Puppet a definovat hlavní informace Puppet:
nano /etc/puppetlabs/puppet/puppet.conf
Přidejte následující řádky:
[main] certname = puppetclient server = puppetmaster
Po dokončení uložte a zavřete soubor. Poté spusťte službu Puppet agent a povolte její spuštění při spuštění pomocí následujícího příkazu:
systemctl start puppet
systemctl enable puppet
Dále ověřte stav loutky pomocí následujícího příkazu:
systemctl status puppet
Měli byste získat následující výstup:
? puppet.service - Puppet agent Loaded: loaded (/lib/systemd/system/puppet.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2020-09-05 09:43:15 UTC; 22s ago Main PID: 1435 (puppet) Tasks: 2 (limit: 2353) Memory: 52.8M CGroup: /system.slice/puppet.service ??1435 /opt/puppetlabs/puppet/bin/ruby /opt/puppetlabs/puppet/bin/puppet agent --no-daemonize Sep 05 09:43:15 puppetagent systemd[1]: Started Puppet agent.
V tomto okamžiku je agent Puppet nainstalován a nakonfigurován. Nyní můžete přejít k dalšímu kroku.
Podepsat certifikát loutkového agenta
Puppet používá architekturu klient-server, takže před konfigurací budete muset schválit žádost o certifikát pro každý uzel agenta.
V uzlu Puppet master spusťte následující příkaz a vypište všechny certifikáty:
/opt/puppetlabs/bin/puppetserver ca list
Měli byste vidět následující výstup:
Requested Certificates: puppetclient (SHA256) A4:9A:E9:87:8B:54:0A:4F:A0:78:65:1A:3C:99:B5:EC:31:9E:BB:4C:17:8A:50:16:E9:1E:3D:D6:27:74:89:85 puppetmaster (SHA256) E9:25:4C:51:4E:47:D7:44:11:1F:C5:A9:4E:96:D9:E8:3A:EB:A0:01:48:06:B5:EF:3F:C4:09:03:90:3E:D8:2D
Nyní podepište všechny certifikáty pomocí následujícího příkazu:
/opt/puppetlabs/bin/puppetserver ca sign --all
Měli byste získat následující výstup:
Successfully signed certificate request for puppetclient Successfully signed certificate request for puppetmaster
Nyní může Puppet master komunikovat a ovládat uzel agenta.
V uzlu Puppet agent otestujte komunikaci mezi masterem Puppet a agentem pomocí následujícího příkazu:
/opt/puppetlabs/bin/puppet agent --test
Pokud je vše v pořádku, měli byste získat následující výstup:
Info: Using configured environment 'production' Info: Retrieving pluginfacts Info: Retrieving plugin Info: Retrieving locales Info: Caching catalog for puppetclient Info: Applying configuration version '1599300398' Notice: Applied catalog in 0.02 seconds
Závěr
Gratulujeme! úspěšně jste nainstalovali a nakonfigurovali Puppet master a agenta na serveru Ubuntu 20.04. Nyní můžete snadno přidat více agentů a snadno je spravovat pomocí Puppet.