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 2g1g (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ë.