Si të instaloni Puppet Master dhe Slave në sistemet e bazuara në RHEL
Zhvilluar nga Puppet Lans, Puppet është një mjet i menaxhimit të konfigurimit me burim të hapur që përdoret për automatizimin dhe centralizimin e konfigurimit të infrastrukturës si serverët ashtu si Ansible dhe Shef. Ndihmon në ekzekutimin e thjeshtë të detyrave të përsëritura të cilat përndryshe do të ishin të rënda dhe do të kërkonin kohë.
Puppet adopton një arkitekturë klient-server dhe përfshin aspektet e mëposhtme të spikatura.
- Master/Serveri i Kukullave – Kjo nyje përmban të gjithë konfigurimin e kërkuar për të menaxhuar nyjet e klientit në të cilat është instaluar skllavi i kukullave.
- Puppet Slave – Këto janë nyjet e menaxhuara të klientit në mjedisin tuaj. Të gjithë skllevërit menaxhohen nga Master Puppet dhe kanë të instaluar dhe funksionuar agjentin Puppet.
- PuppetDB – Kjo është një bazë të dhënash që ruan të gjitha të dhënat e krijuara nga Puppet.
Në këtë udhëzues, ne do të demonstrojmë se si të instaloni Puppet Master dhe Agent në shpërndarjet e bazuara në RHEL si CentOS, Fedora, Rocky dhe AlmaLinux.
Konfigurimi i mjedisit laboratorik
Puppet Master Node with IP 139.144.20.170 - Rocky Linux 8
Puppet Slave with IP 45.79.206.178 - Ubuntu 22.04
Hapi 1: Konfiguro emrin e hostit në Puppet Master dhe Slave
Për të dalë nga toka, hyni në sistemin tuaj dhe përmirësoni paketat e softuerit duke përdorur komandën dnf si më poshtë.
$ sudo dnf update -y
Më pas, konfiguroni një emër hosti për nyjet tuaja, i cili do të jetë i vlefshëm gjatë rrugës kur vendosni Puppet në sistemin tuaj.
Për Mjeshtrin e Kukullave
$ sudo hostnamectl set-hostname puppetmaster.linux-console.net
Për skllavin e kukullave
$ sudo hostnamectl set-hostname puppet-agent
Konfirmoni emrin e ri të hostit duke përdorur komandën hostnamectl:
$ hostnamectl
Më pas, përditësoni skedarin /etc/hosts për të dy sistemet me emrin e hostit dhe të dhënat DNS siç tregohet.
Kalo te përdoruesi rrënjë.
$ su -
Më pas, përditësoni skedarin /etc/hosts me adresën IP dhe emrin e hostit ose FQDN të sistemit tuaj.
Për Mjeshtrin e Kukullave
# echo "139.144.20.170 puppetmaster.linux-console.net" >> /etc/hosts
Për skllavin e kukullave
# echo "45.79.206.178 puppet-agent" >> /etc/hosts
Pasi të jenë konfiguruar emrat e hosteve dhe të dhënat DNS, vazhdoni me hapin tjetër.
Hapi 2: Shto depo të kukullave në Puppet Master (Rocky Linux)
Për të instaluar Puppet, duhet të shtojmë depon e saj në sistem. Për ta bërë këtë, ekzekutoni komandën e mëposhtme.
$ sudo dnf install https://yum.puppet.com/puppet-release-el-8.noarch.rpm -y
$ rpm -qi puppet-release
Përveç kësaj, sigurohuni që të shtoni edhe depon e EPEL siç tregohet.
$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
Më pas, aktivizoni depon e Powertools që ofron mjete dhe biblioteka zhvilluesish. Depoja ofron gjithashtu një mori paketash që nevojiten si varësi kur instaloni aplikacione të tjera.
$ sudo dnf config-manager --set-enabled powertools
Për të siguruar që cache është plotësisht e përditësuar me të gjitha meta të dhënat në vend, ndërtoni cache siç tregohet.
$ sudo dnf makecache
Hapi 3: Instaloni Puppet në Puppet Master (Rocky Linux)
Përpara se të instaloni Puppet, sigurohuni që të gjitha depot e kërkuara të jenë aktivizuar si më poshtë.
$ sudo dnf repolist
Më pas, instaloni Serverin e Kukullave si më poshtë.
$ sudo dnf install puppetserver -y
Komanda instalon një mori paketash duke përfshirë Pupper Server dhe Agent, Java OpenJDK, Lua, NSS dhe shumë të tjera. Më poshtë është dalja e komandës.
Për të konfirmuar që Serveri Pupper është instaluar, ekzekutoni komandën:
$ rpm -qi puppetserver
Komanda printon informacione të detajuara si emri, versioni, lëshimi, arkitektura dhe data e instalimit për të përmendur disa.
Hapi 4: Konfiguro Puppet Master Server (Rocky Linux)
Pasi të jetë instaluar Serveri i Kukullave, hapi tjetër është konfigurimi i tij. Prandaj, hyni në skedarin kryesor të konfigurimit për Puppet siç tregohet.
$ sudo vim /etc/puppetlabs/puppet/puppet.conf
Në seksionin [server]
shtoni hyrjen DNS siç tregohet.
dns_alt_names=puppetmaster.linux-console.net,puppetmaster,puppetserver
Përveç kësaj, shtoni seksionin [kryesore]
si më poshtë, ku puppetmaster.linux-console.net është FQDN ose emri i hostit të serverit tuaj kukull.
[main]
certname = puppetmaster.linux-console.net
server = puppetmaster.linux-console.net
environment = production
runinterval = 1h
Kështu duket konfigurimi ynë.
Ruani ndryshimet dhe dilni nga skedari i konfigurimit.
Hapi 5: Konfiguro shpërndarjen e memories JVM (opsionale)
Si parazgjedhje, 2 GB memorie JAVA ndahet te Serveri Master i Kukullave. Nëse sistemi juaj nuk ka memorie të mjaftueshme, mund të modifikoni skedarin e konfigurimit të serverit dhe të caktoni një vlerë më të ulët si p.sh. 1 GB.
Prandaj, hyni në skedarin e konfigurimit.
$ sudo vim /etc/sysconfig/puppetserver
Gjeni këto argumente: -Xms2g -Xmx2g
dhe ndryshoni 2g në 1g (do të thotë 1 GB).
Ruani ndryshimet dhe dilni nga skedari i konfigurimit.
Hapi 6: Filloni dhe aktivizoni Serverin e Kukullave
Pasi të keni bërë të gjitha ndryshimet e kërkuara, filloni shërbimin Serveri i Kukullave siç tregohet.
$ sudo systemctl start puppetserver
Më pas aktivizoni shërbimin që të fillojë në kohën e nisjes ose në fillimin e sistemit.
$ sudo systemctl enable puppetserver
Për të verifikuar që serveri Puppet po funksionon, ekzekutoni komandën:
$ sudo systemctl status puppetserver
Dalja e mëposhtme konfirmon që serveri Puppet po funksionon.
Hapi 7: Filloni dhe aktivizoni Agjentin e Kukullave
Instalimi i Serverit të Kukullave instalon gjithashtu edhe agjentin. Megjithatë, agjenti nuk fillon automatikisht, dhe ju duhet ta bëni atë me dorë.
Për të nisur agjentin e kukullave, ekzekutoni komandën.
$ sudo systemctl start puppet
Gjithashtu, merrni parasysh mundësinë e aktivizimit të agjentit në nisje.
$ sudo systemctl enable puppet
Tani, verifikoni nëse agjenti është aktiv dhe funksionon duke ekzekutuar komandën e mëposhtme.
$ sudo systemctl status puppet
Hapi 8: Lejo Shërbimin e Kukullave në Firewall
Një tjetër gjë që duhet të keni parasysh është të lejoni shërbimin e Kukullave në murin e zjarrit në mënyrë që serveri të mund të aksesohet përmes rrjetit.
Për ta bërë këtë, ekzekutoni komandat e mëposhtme.
$ sudo firewall-cmd --add-service=puppetmaster --permanent
$ sudo firewall-cmd --reload
Hapi 9: Shto Dosjen Binare të Kukullave në $PATH
Binarët e kukullave janë të vendosura në /opt/puppetlabs/bin. Në momentin e shkrimit të këtij udhëzuesi, drejtoria është vendosur tashmë në SHTEGU.
Për ta konfirmuar këtë, ekzekutoni komandën printenv siç tregohet.
$ printenv | grep puppetlabs
Ju gjithashtu mund ta verifikoni atë siç tregohet.
$ which puppet
/opt/puppetlabs/bin/puppet
Nëse për ndonjë arsye Puppet nuk shtohet në PATH, kaloni te përdoruesi rrënjë
$ su -
Më pas ekzekutoni komandat e mëposhtme për ta shtuar në PATH.
# echo 'export PATH=$PATH:/opt/puppetlabs/bin' | tee -a ~/.bashrc
# source ~/.bashrc
Hapi 10: Verifikoni serverin e kukullave duke përdorur klientin e kukullave
Për të konfirmuar që serveri Puppet po funksionon siç pritej, ekzekutoni komandën:
$ sudo /opt/puppetlabs/bin/puppet agent --test --ca_server=puppetmaster.linux-console.net
Dalja e mëposhtme konfirmon se gjithçka duket mirë.
Ju gjithashtu mund të arrini të njëjtën gjë si përdoruesi rrënjë siç tregohet
# puppet agent -t
Për të parë certifikatat e disponueshme në nyjen Master Kukullash, ekzekutoni komandën e mëposhtme.
$ sudo /opt/puppetlabs/bin/puppetserver ca list --all
Deri më tani, ne kemi arritur të instalojmë Serverin e Kukullave dhe Agjentin në nyjen Master. Nëse kjo është ajo që po kërkoni, atëherë keni mbaruar dhe pluhurosur.
Megjithatë, ne përmendëm se Puppet punon në një arkitekturë klient-server. Në hapin e mëposhtëm, ne do të demonstrojmë se si të instaloni dhe konfiguroni agjentin Puppet në nyjen e klientit.
Hapi 11: Instaloni dhe konfiguroni Puppet Agent në Slave
Në këtë seksion, ne do të instalojmë Puppet Agent në një nyje Ubuntu Slave dhe më pas do të vendosim komunikim midis nyjes Pupper Master dhe Klientit .
Për Ubuntu 22.04
$ wget https://apt.puppetlabs.com/puppet7-release-jammy.deb
$ sudo dpkg -i puppet7-release-jammy.deb
$ sudo apt update
$ sudo apt install puppet-agent -y
Për Ubuntu 20.04
$ wget https://apt.puppet.com/puppet7-release-focal.deb
$ sudo dpkg -i puppet7-release-focal.deb
$ sudo apt update
$ sudo apt install puppet-agent -y
Pasi të instalohet, hyni në skedarin e konfigurimit të agjentit.
$ sudo vim /etc/puppetlabs/puppet/puppet.conf
Shtoni seksionin e mëposhtëm.
[main]
server = puppetmaster.linux-console.net
Ruani ndryshimet dhe dilni.
Për të aplikuar ndryshimet, rinisni shërbimin e agjentit të kukullave.
$ sudo systemctl restart puppet
$ sudo systemctl enable puppet
Hapi 12: Lidhni Agjentin e Kukullave me Serverin e Kukullave
Hapi i fundit është krijimi i një lidhjeje midis serverit të kukullave dhe agjentit të instaluar në sistemin e klientit. Për ta bërë këtë, hyni në nyjen e klientit dhe gjeneroni certifikata që masteri Pupper të nënshkruajë.
$ sudo /opt/puppetlabs/bin/puppet agent -t
Do të merrni një njoftim se certifikata nuk është nënshkruar ende.
Shkoni te nyja Pupper master dhe listoni certifikatat që janë në pritje për t'u nënshkruar. Këtu, certifikata renditet si puppet-agent.members.linode.com.
$ sudo /opt/puppetlabs/bin/puppetserver ca list
Tani nënshkruani certifikatën duke përdorur komandën e mëposhtme:
$ sudo /opt/puppetlabs/bin/puppetserver ca sign --certname puppet-agent.members.linode.com
Më në fund, kthehuni te nyja e Klientit dhe nënshkruani certifikatën.
$ sudo /opt/puppetlabs/bin/puppet agent -t
konkluzioni
Kjo na çon në fund të këtij udhëzuesi. Në këtë artikull, ne kemi demonstruar se si të instaloni Puppet Master dhe Agent në sistemet e bazuara në RHEL duke përdorur nyjet Rocky Linux 8 në konfigurimin tonë.