Paano magagamit ang Mga Pupule Module para sa IT Infrastructure Automation?



Isang hands-on na papet tutorial na pinag-uusapan ang tungkol sa pagsusulat ng isang modyul na papet at paggamit ng isang manifest upang i-automate at mapanatili ang IT imprastraktura ng isang samahan.

Dati, ang mga tagapangasiwa ng system ay gumamit ng mga shell script upang patakbuhin ang kanilang mga server, at ang pamamaraang ito ay may zero scalability. Ito ay isang nakakatakot na gawain upang patuloy na baguhin ang mga script para sa daan-daang o libu-libong mga nagbabagong server at ang kanilang mga pagsasaayos ng system.

Sa artikulong ito sa mga module ng papet at manifest tingnan natin kung paano tayo makakagamit ng mga module ng papet para sa pag-automate ng pag-setup ng server, pag-install ng programa, at pamamahala ng system.





Saklaw ng blog na ito ang mga sumusunod na paksa:

Panimula sa Puppet Programming

Papet ay isa sa mga patok na ginamit na tool ng DevOps na malawakang ginagamit para sa pamamahala ng pagsasaayos. Ginagamit ito upang maganap hindi pagbabago sa Infrastructure. Maaaring tukuyin ng papet ang imprastraktura bilang code, pamahalaan ang maraming mga server, at ipatupad ang pagsasaayos ng system, sa gayon ay makakatulong sa pag-automate ng proseso ng pamamahala ng imprastraktura.



Ang papet ay mayroonsariling wika ng pagsasaayos, Puppet DSL . Tulad ng iba pang mga programa ng DevOps, Puppet automate ang mga pagbabago, inaalis ang mga manu-manong pagbabago na hinimok ng script. Gayunpaman, ang Puppet ay hindi lamang isa pang wika ng shell, at hindi rin ito isang dalisay na wika sa programa, tulad ng PHP. Sa halip, Puppet ang gumagamitsa nagpapahayag na diskarte na batay sa modelo sa IT automation. Nagbibigay-daan ito sa Puppet na tukuyin ang imprastraktura bilang code at ipatupad ang pagsasaayos ng system sa mga programa.

Bago magpatuloy sa demo, tingnan natin ang ilang pangunahing mga aspeto ng pag-program ng papet.

matutong gumamit ng visual studio

Pangunahing mga tuntunin sa Puppet Programming

Manifest

Isang programang papet ang tinawag mahayag at mayroong isang filename kasama .pp karugtong Ang pangunahing pangunahing pagpapakita ng papet ay /etc/puppet/manifests/site.pp . (Tinutukoy nitomga pag-configure ng pandaigdigang system, tulad ng pagsasaayos ng LDAP, mga DNS server, o iba pang mga pagsasaayos na nalalapat sa bawat node).



Mga klase

Sa loob ng mga manifest na ito ay tinatawag na mga bloke ng code mga klase ang ibang mga module ay maaaring tumawag. Ang mga klase ay nag-configure ng malaki o katamtamang laki ng mga pagpapaandar, tulad ng lahat ng mga pakete, mga file ng pagsasaayos, at mga serbisyong kinakailangan upang magpatakbo ng isang application. Ginagawang mas madali ng mga klase ang muling paggamit ng Puppet code at pagbutihin ang kakayahang mabasa.

Mga mapagkukunan

Ang puppet code ay binubuo ng karamihan sa mga pagdedeklara ng mapagkukunan. A mapagkukunan naglalarawan ng isang tukoy na elemento tungkol sa nais na estado ng system. Halimbawa, maaari itong isama na ang isang tukoy na file ay dapat na umiiral o dapat na mai-install ang isang pakete.

Mga Modyul na Puppet

Maliban sa pangunahingsite.ppmahayag,nag-iimbak ito ng manifestssa mga modyul .

Ang lahat ng aming Puppet code ay nakaayos sa mga module na kung saan ay ang pangunahing mga bloke ng itoy na maaari naming magamit muli at ibahagi. Namamahala ang bawat module ng isang tiyak na gawain sa imprastraktura, tulad ng pag-install at pag-configure ng isang piraso ng software.

Naglalaman ang mga module ng mga klase ng Puppet, tinukoy na uri, gawain, plano ng gawain, kakayahan, uri ng mapagkukunan, at mga plugin, halimbawa, mga pasadyang uri o katotohanan. Mag-install ng mga module sa Puppetmodule-path. Naglo-load ang papet ng lahat ng nilalaman mula sa bawat module sa module-path, ginawang magagamit ang code na ito para magamit.

Mga Modyul - Puppet Programming - EdurekaAng mga puppetlabs ay may paunang natukoy na mga module na maaari nating magamit agad sa pamamagitan ng pag-download ng mga ito mula sa PuppetForge . Maaari ka ring lumikha ng isang pasadyang module na papet upang umangkop sa iyong mga kinakailangan.

Daloy ng Paggawa ng Program ng Puppet Program

Gagamitin namin ang nagpapahayag na wika ng Puppet upang ilarawan ang nais na estado ng system sa mga file na tinatawag na manifests. Inilalarawan ng mga manifest kung paano mo dapat i-configure ang iyong network at mga mapagkukunan ng operating system, tulad ng mga file, package, at serbisyo.

Ang pag-iipon ng papet ay nagpapakita ng mga katalogo at inilalapat nito ang bawat katalogo sa kaukulang node nito upang matiyak na ang pagsasaayos ng ttama ang node niyasa iyong imprastraktura.

Pagpapakita: Pag-automate ng Pag-install ng Apache at MySQL

Ang artikulong ito sa mga modyong papet ay hands-on na magpapakita ng dalawang paraan ng paggamit ng isang puppet module at magtuturo din sa iyo kung paano awtomatiko ang pag-install ng isang server na naka-configure sa dalawang modyul na ito.

Upang magsimula, siguraduhin na mayroon kang handa na isang imprastraktura ng Puppet na magsasama ng isang puppet master server at 2 mga ahente ng papet.

  • Puppet Master: Ubuntu 18.04
  • Ahente 1: Ubuntu 18.04
  • Ahente 2:CentOS7

Narito ang isang balangkas ng kung ano ang makakamtan natin sa hands-on na ito:


Kaya't magsimula tayo sa hands-on:

Lumilikha ng isang module mula sa simula

Sa puppet module na ito, haharapin namin ang mga gawain tulad ng pag-download ng Apache package, pag-configure ng mga file, at pag-set up ng mga virtual host.

  • Mula sa Puppet Master, mag-navigate sa direktoryo ng module ng Puppet at lumikha ng direktoryo ng Apache:
    cd / etc / puppet / modules sudo mkdir apache
  • Mula sa loob ng direktoryo ng apache, lumikha ng mga subdirectory: manifest, template, file, at mga halimbawa.
    cd apache sudo mkdir {manifests, template, files, halimbawa}
  • Mag-navigate sa direktoryo ng manifests:
    nagpapakita ng cd
  • Mula dito, paghiwalayin namin ang module sa mga klase batay sa mga layunin ng seksyon na iyon ng code.

init.pp -> upang mai-download ang Apache package

params.pp -> upang tukuyin ang anumang mga variable at parameter

config.pp -> upang pamahalaan ang anumang mga file ng pagsasaayos para sa serbisyo ng Apache.

mga multo.pp -> upang tukuyin ang virtual host.

Gagamitin din ng modyul na ito Hiera (isang built-in na susi ng data ng pagsasaayos ng data ng key, na ginagamit para sa paghihiwalay ng data mula sa Puppet code) na data, upang mag-imbak ng mga variable para sa bawat node.

Hakbang 1: Pag-download ng Apache Package

Lumikha ng klase ng init.pp

Ngayon ay lilikha kami ng ainit.ppfile sa ilalim ng direktoryo ng manifests upang hawakan ang apache package.
Dahil mayroon kaming 2 magkakaibang OS (ubuntu at CentOS7) na gumagamit ng iba't ibang mga pangalan ng package para sa Apache, kakailanganin naming gumamit ng isang variable$ apachename.

/etc/puppetlabs/code/environments/production/modules/apache/manifests/init.pp

class apache {package {'apache': name => $ apachename, tiyakin => naroroon,}}

pakete Pinapayagan ng mapagkukunan para sa pamamahala ng isang pakete. Ginagamit ito upang idagdag, alisin, o matiyak na mayroong isang pakete.

Sa karamihan ng mga kaso, ang pangalan ng mapagkukunan (apache, sa itaas) dapat ang pangalan ng pinamamahalaang package. Dahil sa iba't ibang mga kombensiyon sa pagbibigay ng pangalan,tawagan namin ang tunay na pangalan ng packagesa sa pangalan sanggunian Kaya pangalan , mga tawag para sa hindi pa natukoy na variable$ apachename.

siguraduhin tinitiyak ng sanggunian na ang pakete aykasalukuyan.

Lumikha ng params.pp file

Angparams.pptutukuyin ng file ang kinakailangang mga variable. Habang maaari naming tukuyin ang mga variable na ito sa loob nginit.ppfile, dahil mas maraming mga variable ang kailangang gamitin sa labas ng mismong uri ng mapagkukunan, gamit ang aparams.ppPinapayagan ng file ang mga variable na maaaring tukuyin sakungpahayag at ginamit sa maraming klase.

Gumawa ngparams.ppfile at ang sumusunod na code.

/etc/puppetlabs/code/environments/production/modules/apache/manifests/params.pp

class apache :: params {if $ :: osfamily == 'RedHat' {$ apachename = 'httpd'} elsif $ :: osfamily == 'Debian' {$ apachename = 'apache2'} iba pa {mabigo ('hindi ito isang suportadong distro. ')}}

Sa labas ng orihinal init.ppklase, ang bawat pangalan ng klase ay kailangang mag-branch offapache. Tinatawag namin ang klase na ito bilang apache :: params . Ang pangalan pagkatapos ng dobleng colon ay dapat magbahagi ng isang pangalan sa file. Isangkungginamit ang pahayag upang tukuyin ang mga parameter, paghugot mula sa impormasyong ibinigay ng Salik , Ang papet ay may pag-install ng facter bilang isang bahagi ng pag-install nito mismo. Dito, ibababa ng Facter ang pamilya ng operating system (osfamily), upang makilala kung ito aypulang sumbrerooBatay sa Debian.

Sa wakas na tinukoy ng mga parameter, kailangan naming tawagan ang params.pp file at ang mga parameter sainit.pp. Upang magawa ito, kailangan naming idagdag ang mga parameter pagkatapos ng pangalan ng klase, ngunit bago ang pagbubukas ng curly bracket({).

Kaya anginit.ppna nilikha natin kanina ay dapat magmukhang ganito:

class apache ($ apachename = $ :: apache :: params :: apachename,) nagmana :: apache :: params {package {'apache': name => $ apachename, siguraduhin => naroroon,}}

Ang string string $ :: apache :: params :: halaga Sinasabi sa Puppet na hilahin ang mga halaga mula sa apache mga module, params klase, na sinusundan ng pangalan ng parameter. Ang fragment nagmana :: apache :: params pinapayagan para sainit.ppupang manahin ang mga halagang ito.

Hakbang 2: Pamahalaan ang Mga File ng Pag-configure

Ang file ng pagsasaayos ng Apache ay magkakaiba depende sa kung nagtatrabaho ka sa isang Red Hat- o Debian-based na system.

Mahahanap mo ang mga sumusunod na file ng pagtitiwala sa pagtatapos ng demo na ito:httpd.conf(Pulang sumbrero),apache2.conf(Debian).

  • Kopyahin ang nilalaman ng httpd.conf atapache2.confsa magkakahiwalay na mga file at i-save ang mga ito sa mga file direktoryosa / etc / puppetlabs / code / environment / paggawa / modules / apache / file .
  • I-edit ang parehong mga file sa huwag paganahin panatilihing buhay. Kakailanganin mong idagdag ang linya KeepAlive Off nasahttpd.conffile Kung hindi mo nais na baguhin ang setting na ito, dapat kaming magdagdag ng isang komento sa tuktok ng bawat isafile:
    /etc/puppetlabs/code/environments/production/modules/apache/files/httpd.conf
# Ang file na ito ay pinamamahalaan ng papet

Idagdag ang mga file na ito sainit.ppfile, kaya malalaman ng Puppet ang lokasyon ng mga file na ito sa parehong master server at mga node ng ahente. Upang magawa ito, ginagamit namin ang file mapagkukunan.

/etc/puppetlabs/code/environments/production/modules/apache/manifests/init.pp

file {'config-file': path => $ conffile, tiyakin => file, source => $ confsource,}

Dahil mayroon kaming mga file ng pagsasaayos sa dalawang magkakaibang lokasyon, binibigyan namin ang mapagkukunan ng generic na pangalan pagsasaayos-file kasama ang file landas tinukoy bilang isang parameter na maylandaskatangian

siguraduhin tinitiyak na ito ay isang file.

pinagmulan nagbibigay ng lokasyon sa Puppet master ng mga file na nilikha sa itaas.

Buksan angparams.ppfile

Tinutukoy namin ang $ conffile at $ confsourcevariable sa loob ngkungpahayag:

/etc/puppetlabs/code/environments/production/modules/apache/manifests/params.pp

kung $ :: osfamily == 'RedHat' {... $ conffile = '/etc/httpd/conf/httpd.conf' $ confsource = 'puppet: ///modules/apache/httpd.conf'} elsif $: : osfamily == 'Debian' {... $ conffile = '/etc/apache2/apache2.conf' $ confsource = 'puppet: ///modules/apache/apache2.conf'} iba pa {...

Kailangan naming idagdag ang mga parameter sa simula ngapachedeklarasyon ng klase sainit.ppfile, katulad ng nakaraang halimbawa.

Kapag nagbago ang file ng pagsasaayos, kailangang i-restart ng Apache. Upang i-automate ito, maaari naming gamitin ang mapagkukunan ng serbisyokasabay ng abisuhan katangian, na tatawag sa mapagkukunan upang tumakbo sa tuwing binago ang config file:

ay isang masters isang postgraduate degree

/etc/puppetlabs/code/environments/production/modules/apache/manifests/init.pp

file {'config-file': path => $ conffile, tiyakin => file, source => $ confsource, abisuhan => Serbisyo ['apache-service'],} serbisyo {'apache-service': name => $ apachename, hasrestart => totoo,}

serbisyo Ginagamit ng mapagkukunan ang natapos na parameter na tumutukoy sa pangalan ng Apache sa Red Hat at Debian system.
hasrestart Ginagamit ang katangian upang mag-umpisa ng isang pag-restart ng tinukoy na serbisyo.

Hakbang 3: Lumikha ng mga file ng Virtual host

Nakasalalay sa pamamahagi ng iyong system ang mga file ng virtual host ay pamahalaan nang iba. Dahil dito, isasama namin ang code para sa mga virtual host sa isangkungpahayag, katulad ng ginamit saparams.ppklase ngunit naglalaman ng aktwal na mapagkukunan ng Puppet.

  • Mula sa loob ngapache / manifests /direktoryo, lumikha at buksan ang amga multo.ppfile Idagdag ang balangkas ngkungpahayag:

/etc/puppetlabs/code/environments/production/modules/apache/manifests/vhosts.pp

class apache :: vhosts {if $ :: osfamily == 'RedHat' {} elsif $ :: osfamily == 'Debian' {} else {}}

Ang lokasyon ng virtual host file sa aming CentOS 7 server ay/etc/httpd/conf.d/vhost.conf . Kailangan mong likhain ang file bilang isang template sa Puppet master. Gawin ang pareho para sa file ng mga virtual host ng Ubuntu, na matatagpuan sa/etc/apache2/site-available/example.com.conf, pagpapalithalimbawa.comkasama ang server ng FQDN.

  • Mag-navigate sa mga template file sa loob ng apache module at pagkatapos ay lumikha ng dalawang mga file para sa iyong virtual host:

Para sa mga system ng Red Hat:
/etc/puppetlabs/code/environments/production/modules/apache/templates/vhosts-rh.conf.erb

ServerAdmin ServerName ServerAlias ​​www. Pinagsama ang DocumentRoot / var / www // public_html / ErrorLog /var/www//logs/error.log CustomLog /var/www//logs/access.log

Para sa mga sistemang Debian:
/etc/puppet/modules/apache/templates/vhosts-deb.conf.erb

ServerAdmin ServerName ServerAlias ​​www. DocumentRoot / var / www / html // public_html / ErrorLog /var/www/html//logs/error.log CustomLog /var/www/html//logs/access.log pinagsamaHilingin ang lahat ng ipinagkaloob

Gumagamit lamang kami ng dalawang mga variable sa mga file na ito: pangangasiwa at pangalan ng server . Tutukuyin namin ang mga ito sa isang node-by-node na batayan, sa loob ngsite.ppfile

  • Bumalik samga multo.ppfile Ang mga template na nilikha ay maaari nang mag-refer sa code:

/etc/puppetlabs/code/environments/production/modules/apache/manifests/vhosts.pp

class apache :: vhosts {if $ :: osfamily == 'RedHat' {file {'/etc/httpd/conf.d/vhost.conf': tiyakin => file, nilalaman => template ('apache / vhosts-rh .conf.erb '),}} elsif $ :: osfamily ==' Debian '{file {' /etc/apache2/site-available/$servername.conf ': tiyakin => file, nilalaman => template (' apache /vhosts-deb.conf.erb '),}} iba pa {fail (' Hindi ito isang suportadong distro. ')}}

Parehong tawag sa mga pamilyang pamamahagi safilemapagkukunan at kunin ang pamagat ng lokasyon ng virtual host sa kani-kanilang pamamahagi. Para kay Debian, ito ay nangangahulugang pagtukoy sa$ servernamehalaga Angnilalamantawag ng katangian ang kani-kanilang mga template.

  • Ang parehong mga virtual host file ay sumangguni sa dalawang direktoryo. Wala sila sa mga system bilang default. Maaari nating likhain ang mga ito sa pamamagitan ng paggamit ngfilemapagkukunan, bawat isa sa loob ngkungpahayag. Ang kumpletovhosts.confang file ay dapat maging katulad:

/etc/puppetlabs/code/environments/production/modules/apache/manifests/vhosts.pp

class apache :: vhosts {if $ :: osfamily == 'RedHat' {file {'/etc/httpd/conf.d/vhost.conf': tiyakin => file, nilalaman => template ('apache / vhosts-rh .conf.erb '),} file {{' 'var var / www / $ servername', '/ var / www / $ servername / public_html', '/ var / www / $ servername / log',]: sure => direktoryo,}} elsif $ :: osfamily == 'Debian' {file {'/etc/apache2/site-available/$servername.conf': tiyakin => file, nilalaman => template ('apache / vhosts-deb. conf.erb '),} file {{' 'var var / www / $ servername', '/ var / www / $ servername / public_html', '/ var / www / $ servername / logs',]: sure => direktoryo ,}} iba pa {mabibigo ('Hindi ito isang suportadong distro.')}}

Hakbang 4: Subukan ang modyul

  • Mag-navigate saapache / manifests /direktoryo, patakbuhin ang papet parser sa lahat ng mga file upang matiyak na ang pag-coding ng Puppet ay walang error:

sudo / opt / puppetlabs / bin / puppet parser napatunayan init.pp params.pp vhosts.pp

Dapat itong bumalik nang walang laman, nang walang mga isyu.

  • Mag-navigate sa mga halimbawa direktoryo sa loob ngapachemodyul Lumikha ng isanginit.ppfile at isama ang nilikha mga klase. Palitan ang mga halaga para sa$ servernameat$ adminemailsa iyong sarili:

/etc/puppetlabs/code/environments/production/modules/apache/examples/init.pp

serveremail = 'webmaster@example.com' $ servername = 'puppet.example.com' isama ang apache isama ang apache :: vhosts
  • Subukan ang modyul sa pamamagitan ng pagtakbo mag-apply ng papet kasama ang –Noop tag:
    sudo / opt / puppetlabs / bin / papet mag-apply --noop init.pp

Dapat itong bumalik walang mga error at output na magpapalitaw sa mga pag-refresh mula sa mga kaganapan. Upang mai-install at mai-configure ang apache sa Puppet master, patakbuhin muli nang wala–Noop, kung ninanais.

  • Mag-navigate pabalik sa pangunahing direktoryo ng Puppet at pagkatapos ay samanifestsfolder (hindiang naroroon sa modyong Apache).

cd / etc / puppetlabs / code / environment / production / manifests

Gumawa ngsite.ppfile,at isama ang module ng Apache para sa bawat node ng ahente. I-input din ang mga variable para sapangangasiwa at pangalan ng servermga parameter Iyongsite.ppay dapat maging katulad ng mga sumusunod:

ano ang filter ng konteksto sa tableau

/etc/puppetlabs/code/environments/production/manifests/site.pp

node 'puppet-agent-ubuntu.example.com' {$ adminemail = 'webmaster@example.com' $ servername = 'puppet.example.com' isama ang apache kasama ang apache :: vhosts} node 'puppet-agent-centos.example .com '{$ adminemail =' webmaster@example.com '$ servername =' puppet.example.com 'isama ang apache kasama ang apache :: vhosts}

Bilang default, ang serbisyo ng Puppet agent sa iyong mga pinamamahalaang node ay awtomatikong suriin sa master isang beses bawat 30 minuto at maglalapat ng anumang mga bagong pagsasaayos mula sa master. Maaari mo ring manu-manong mag-usap ng proseso ng Puppet agent sa loob ng awtomatikong pagpapatakbo ng ahente. Upang manu-manong patakbuhin ang bagong module sa iyong mga node ng ahente, mag-log in sa mga node at patakbuhin:

sudo / opt / puppetlabs / bin / ahente ng papet -t

Ngayon natutunan natin kung paano lumikha ng isang module mula sa simula, alamin natin kung paano gumamit ng isang dati nang module mula sa papet na forge ng mga papetlab.

Gumamit ng isang module mula sa PuppetForge

Puppet Forge mayroon nang maraming mga module para sa server na tumakbo. Maaari naming mai-configure ang mga ito tulad ng isang malawak na module na iyong nilikha at makatipid ng oras dahil hindi namin nilikha ang module mula sa simula.

Siguraduhin na ikaw ay nasa / etc / puppetlabs / code / environment / paggawa / modules direktoryo at i-install ang Ang module ng MySQL ng Puppet Forge ni PuppetLabs. Mag-i-install din ito ng anumang mga kinakailangang module.

cd / etc / puppetlabs / code / environment / production / modules

sudo / opt / puppetlabs / bin / puppet module mag-install ng puppetlabs-MySQL

Gumamit ng Hiera upang Lumikha ng Mga Database

Bago mo likhain ang mga file ng pagsasaayos para sa module ng MySQL, isaalang-alang na maaaring hindi mo nais na gumamit ng parehong mga halaga sa lahat ng mga node ng ahente. Upang maibigay ang Puppet na may tamang data bawat node, ginagamit namin ang Hiera. Gumagamit ka ng iba't ibang root password bawat node, kaya lumilikha ng iba't ibang mga database ng MySQL.

  • Mag-navigate sa/ atbp / papetat lumikha ng file ng pagsasaayos ng Hierahiera.yamlsa pangunahingpapetdirektoryo Gagamitin mo ang mga default na halaga ng Hiera:

/etc/puppetlabs/code/environments/production/hiera.yaml

--- bersyon: 5 hierarchy: - pangalan: Karaniwang landas: common.yaml default: data_hash: yaml_data datadir: data
  • Lumikha ng filekaraniwang.yaml. Tutukuyin nito ang default ugat password para sa MySQL:

/etc/puppetlabs/code/environments/production/common.yaml

MySQL :: server :: root_password: 'password'

Ginagamit namin angkaraniwang.yamlfilekapag ang isang variable ay hindi tinukoy sa ibang lugar. Nangangahulugan ito na ang lahat ng mga server ay magbabahagi ng parehong root ng MySQL root. Ang mga password na ito ay maaari ring ma-hash upang taasan ang seguridad.

  • Upang magamit ang mga default ng module ng MySQL maaari kang magdagdag ng isama ang ‘:: mysql :: server’ linya sasite.ppfile Gayunpaman, sa halimbawang ito, malalampasan mo ang ilan sa mga default ng module upang lumikha ng isang database para sa bawat isa sa iyong mga node.

I-edit angsite.ppfile na may mga sumusunod na halaga:

node 'Puppetagent-ubuntu.example.com' {$ adminemail = 'webmaster@example.com' $ servername = 'hostname.example.com' isama ang apache kasama ang apache :: kasama ng mga vhost ang MySQL :: server MySQL :: db {'mydb_ $ {fqdn} ': user =>' myuser ', password =>' mypass ', dbname =>' mydb ', host => $ :: fqdn, Grant => [' SELECT ',' UPDATE '], tag = > $ domain,}} node 'Puppetagent-centos.example.com' {$ adminemail = 'webmaster@example.com' $ servername = 'hostname.example.com' isama ang apache isama ang apache :: kasama ng mga vQL ang MySQL :: server MySQL :: db {'mydb _ $ {fqdn}': user => 'myuser', password => 'mypass', dbname => 'mydb', host => $ :: fqdn, bigyan => ['SELECT', ' I-UPDATE '], tag => $ domain,}}

Awtomatiko ang pag-install ng Mga Puppet Module mula sa papet na master hanggang sa ahente ng papet

  • Maaari mong patakbuhin ang mga pag-update na ito nang manu-mano sa bawat node sa pamamagitan ng SSHing sa bawat node at pag-isyu ng sumusunod na utos:

sudo / opt / puppetlabs / bin / ahente ng papet -t

  • Kung hindi man, ang serbisyo ng Puppet agent sa iyong mga pinamamahalaang node ay awtomatikong suriin sa master isang beses bawat 30 minuto at maglalapat ng anumang mga bagong pagsasaayos mula sa master.

Matagumpay na na-apply ang Catalog sa ahente ng Ubuntu

Matagumpay na na-apply ang Catalog sa ahente ng CentOS

Kaya, nakakakuha ang buong pag-install awtomatiko sa mga node ng ahente sa pamamagitan lamang ng paglalapat ng katalogo.Ang mga file ng code at dependency na ginamit para sa demo na ito ay matatagpuan dito .

Inaasahan kong ang demo na ito ay nakatulong sa iyo sa pagkuha ng isang malinaw na ideya ng mga modyul na papet at manifest at ang paggamit nito para sa pag-automate ng imprastraktura ng IT.Sa kasong ito, ang iyong trabaho ay naging napakadali, tukuyin lamang ang mga pagsasaayos sa Mga ahente ng Puppet Master at Puppet ay awtomatikong susuriin ang pangunahing manifest at ilalapat ang module na tumutukoy sa pag-setup ng Apache at MySQL Kung ikaw ay natigil sa anumang mga query, mangyaring huwag mag-atubiling i-post ang mga ito .

Kung nahanap mo ito Tutorial sa Puppet may kaugnayan, tingnan ang ni Edureka, isang pinagkakatiwalaang kumpanya sa pag-aaral sa online na may isang network na higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo. Ang kurso sa Edureka DevOps Certification Training ay tumutulong sa mga nag-aaral na makakuha ng kadalubhasaan sa iba't ibang mga proseso at tool ng DevOps tulad ng Puppet, Jenkins, Nagios at GIT para sa pag-automate ng maraming mga hakbang sa SDLC.