V tomto tutoriálu se naučíme kroky k instalaci Puppet Server na AlmaLinux nebo Rocky Linux 8 distribuce pomocí příkazového terminálu.
Puppet je open-source projekt s podnikovou podporou, umožňuje administrátorům automatizovat konfiguraci jednoho serveru nebo počítače do velké sítě systémů; Ansible a Foreman jsou některé z jeho alternativ.
Když musí vývojáři a administrátoři konfigurovat více serverů najednou s podobnými konfiguracemi, pak namísto opakování stejných úloh na každém systému jeden po druhém používají speciální konfigurační manažery, jako je Puppet. V ideálním případě s ním lze automatizovat mnoho úkolů pomocí jazyka DSL (Puppet's Domain-Specific Language) – loutkového kódu – který můžete použít s širokou řadou zařízení a operačních systémů. Byl vyvinut v roce 2005 Puppet Labs, Portland, Oregon; napsaný v Ruby a navržený jako multiplatformní. K hostování loutkových serverů, jako jsou OracleLinux, RedHat, SuSE, Ubuntu, Debian AlmaLinux a Rocky Linux, lze použít libovolný podnikový operační systém s přihlašovacím výrazem. Systémy se systémem Windows lze také konfigurovat a spravovat pomocí Puppet s určitými omezeními.
Využívá princip klient-server
Stejně jako většina nástrojů používaných pro monitorování a správu vzdálených systémů, i Puppet používá architekturu klient-server. Jeho serverová část je známá jako „PuppetMaster ” který udržuje všechny konfigurace počítačů aktivní v síti. Díky tomu mohou administrátoři centrálně spravovat všechny počítače připojené k síti pomocí agentů . Ano, agent je klientská část, známá jako PuppetAgent nainstalován na všech systémech, které je třeba nakonfigurovat. Významně přispívá ke komfortu loutkové architektury. Provádí jej master na všech systémech, které mají být konfigurovány. Jako základ slouží konfigurační nastavení uložená v katalogu jako cílový stav. Komunikace mezi agentem a masterem probíhá přes HTTPS. Certifikáty na obou stranách slouží k zabezpečení obousměrných komunikačních procesů.
Když mluvíme o edicích, pak kromě open-source nabízí také Puppet Enterprise (PE). Jedná se o komerční verzi Puppet, která je postavena na open source platformě Puppet. Oba produkty umožňují spravovat konfiguraci tisíců uzlů. Open source Puppet to dělá s požadovanou správou stavu. PE poskytuje imperativní i deklarativní přístup k automatizaci infrastruktury. Proto podle oficiálního prohlášení vývojářů, pokud má člověk složitou nebo rozsáhlou infrastrukturu provozovanou a spravovanou více týmy, měl by zvolit Enterprise verzi Puppet kvůli grafickému uživatelskému rozhraní, nasazení kódu point-and-click. strategie, průběžné testování a integrace a schopnost předvídat dopad změn kódu před nasazením.
Kroky k instalaci Puppet serveru a klienta na Rocky Linux | AlmaLinux 8
1. Požadavky
• Minimálně 2jádrový procesor s alespoň 1 GB paměti RAM nebo 4jádrový procesor s alespoň 4 GB paměti RAM pro obsluhu alespoň 1 000 uzlů.
• Čerstvý Linux založený na RedHat, jako je Oracle, Rocky nebo AlmaLinux
• Alespoň non-root uživatelský přístup k sudo
• Terminálový přístup
• připojení k internetu
2. Spusťte příkaz aktualizace Dnf
Nejprve spusťte příkaz aktualizace a upgrade systému, abyste se ujistili, že je vše na vašem systému Linux v nejnovějším stavu.
sudo dnf update && upgrade
Nainstalujte také několik nástrojů, které jsme během instalace potřebovali:
sudo dnf install wget curl nano
Povolit EPEL repo &PowerTools:
sudo dnf install epel-release
sudo dnf config-manager --set-enabled powertools
sudo dnf update
3. Nastavte FQDN jako název hostitele systému
Úplný název domény, který chcete použít pro přístup k Puppet, nastavte jako název hostitele serveru pomocí příkazu uvedeného níže:
sudo hostnamectl set-hostname puppetmaster.how2shout.com
Poznámka :Nahraďte puppetmaster.how2shout.com s čímkoli, co chcete nastavit, a přidejte totéž do /etc/hosts
soubor spolu s IP adresou vašeho Puppet serveru.
sudo nano /etc/hosts/
Přidejte název hostitele spolu s IP-adresou serveru, například
192.168.1.45 puppetmaster.how2shout.com puppetmaster puppetserver
192.168.1.45 je IP adresa serveru, kde je FDQN puppetmaster.how2shout.com pro loutku spolu s některými alternativními názvy, které jsme IP přiřadili.
Restartujte server:
sudo reboot
4. Přidejte repozitář Puppet na Rocky nebo Almalinux 8
Nejnovější balíčky lze snadno stáhnout přidáním oficiálního úložiště Yum Puppet na Rocky Linux i AlmaLinux. K tomu jednoduše postupujte podle uvedených příkazů:
sudo dnf -y install https://yum.puppet.com/puppet-release-el-8.noarch.rpm
sudo dnf update -y
5. Nainstalujte Puppet Master Almalinux 8 | Server Rocky Linux 8
Jakmile přidáme repozitář, je docela snadné nainstalovat Puppet Master na náš server pomocí výchozího správce balíčků DNF.
sudo dnf install puppetserver -y
6. Konfigurace serveru Puppet Master Server
Od této chvíle již máte serverovou část Puppet úspěšně nainstalovanou ve vašem systému. Dále upravíme jeho konfigurační soubor, abychom provedli nějaké změny.
sudo nano /etc/puppetlabs/puppet/puppet.conf
Přidejte FQDN, které jste nastavili na serveru, například v konfiguračním souboru,“
dns_alt_names=puppetmaster.how2shout.com,puppetmaster,puppetserver,puppet
Vzhledem k tomu, že také přidejte následující řádky, abyste jej informovali o certifikátu a názvu serveru:
[main] certname = puppetmaster.how2shout.com server = puppetmaster.hwo2shout.com environment = production runinterval = 1h
Uložte soubor pomocí Ctrl+O , stiskněte Enter a poté soubor ukončete pomocí Ctrl+X .
Chcete-li se dozvědět více o konfiguraci Nastavení loutky soubory, můžete navštívit následující odkazy:
# – https://puppet.com/docs/puppet/latest/config_important_settings.html
# – https://puppet.com/docs/puppet/latest/config_about_settings.html
# – https://puppet.com/docs/puppet/latest/config_file_main.html
# – https://puppet.com/docs/puppet/latest/configuration.html
7. JVM Memory Allocation (volitelné)
Ve výchozím nastavení je paměť JAVA přidělená serveru Puppet Master Server 2 GB, pokud však váš systém neumožňuje přidělit tolik paměti nebo pokud chcete povolit více, můžeme to udělat úpravou konfiguračního souboru serveru Puppet:
sudo nano /etc/sysconfig/puppetserver
V souboru najděte dva argumenty -Xms2g -Xmx2g a změňte 2g na 1g (znamená 1GB) nebo 4g (pro 4GB). Poté soubor uložte:pomocí Ctrl+X , stiskněte Y a stiskněte Enter klíč.
8. Povolit službu Puppet ve firewallu
Otevřete službu Puppet ve firewallu vašeho systému, abyste se ujistili, že může snadno komunikovat přes síť s agenty.
sudo firewall-cmd --add-service=puppetmaster --permanent
sudo firewall-cmd --reload
9. Spusťte loutkový server na Rocky | AlmaLinux 8
Dokončili jsme všechna potřebná nastavení, abychom mohli začít se serverem. Ve výchozím nastavení služby Puppet master neběží, spusťte a povolte to samé.
sudo systemctl start puppetserver sudo systemctl enable puppetserver
Chcete-li zkontrolovat stav služby, použijte:
sudo systemctl status puppetserver
Pro restartování můžete použít:
sudo systemctl restart puppetserver
10. Přidejte Puppet do systémové cesty
Chcete-li použít příkazový řádek tohoto nástroje bez ohledu na adresář, ve kterém se nacházíte:
echo 'export PATH=$PATH:/opt/puppetlabs/bin' | tee -a ~/.bashrc
Znovu načíst bash:
source ~/.bashrc
Pro potvrzení můžete použít:
puppet --version
Přepnout na root:
sudo su -
Vydávat certifikáty
puppetserver ca setup
Do seznamu:
puppetserver ca list --all
Pojďme ověřit, že server funguje správně pomocí lokálně nainstalovaného klienta Puppet.
puppent agent -t
nebo
puppet agent --test --ca_server=puppetmaster.how2shout.com
Chcete-li zobrazit seznam všech dostupných certifikátů na Puppet Master Node.
puppetserver ca list --all
Všechny čekající certifikáty můžete podepsat spuštěním příkazu:
puppetserver ca sign --all
Tímto způsobem můžeme nainstalovat jak master, tak agenta na Rocky Linux nebo Almalinux. Pokud chcete agenta na vzdáleném místě nebo na serveru v síti, postupujte podle následujících kroků.
——————————————————————————————————
11. Nastavte Puppet Agent na vzdáleném systému nebo uzlu
Nyní, pokud chcete nainstalovat Puppet agenta na nějaký vzdálený server Linux nebo Windows, můžeme to udělat snadno.
#Pro systémy RPM, jako je Redhat, CentOS, Rocky, Oracle Linux, Almalinux… použijte následující příkazy:
sudo dnf -y install https://yum.puppet.com/puppet-release-el-8.noarch.rpm
sudo dnf update
#Pro systémy Ubuntu a Debian:
Navštivte https://apt.puppet.com a zkopírujte odkaz na repo-balíček podle vašeho systému Debian.
Například-
Ubuntu 20.04
wget https://apt.puppet.com/puppet7-release-focal.deb
Pro Debian Bullseye:
wget https://apt.puppet.com/puppet7-release-bullseye.deb
Instalace
sudo dpkg -i puppet7-release-focal.deb
Spustit aktualizaci systému:
sudo apt update
Nainstalujte Puppet Agent
sudo apt install puppet-agent
Spustit službu:
sudo systemctl enable --now puppet
12. Konfigurace Puppet Agent
Upravit soubor agenta:
sudo nano /etc/puppetlabs/puppet/puppet.conf
Přidat :
[main] ssldir = /var/lib/puppet/ssl vardir = /var/lib/puppet cadir = /var/lib/puppet/ssl/ca dns_alt_names = puppet [agent] server=puppetmaster-ipadress ca_server=puppetmaster-ipadress
Uložte soubor.
Nyní upravte hostitele a definujte DNS pro puppetmaster
sudo nano /etc/hosts
například následujícím způsobem:
192.168.1.45 puppet-master-server fqdn 192.168.1.16 your-node-01-hostname
Stejným způsobem upravte soubor PuppetMaster /etc/hosts a definujte IP adresu a názvy hostitelů uzlů
sudo nano /etc/hosts
192.168.1.16 your-node-01-hostname
Chcete-li požádat o certifikát CA při získávání, spusťte:
sudo su - puppet agent -t