Puppet Tutorial - One Stop Solution Para sa Pamamahala ng Pag-configure



Ang Puppet Tutorial ay ang pangalawang blog ng serye ng Puppet blog. Pinag-uusapan nito ang tungkol sa arkitektura ng Puppet, mga sangkap at isang halimbawa upang maipadala ang MySQL at php gamit ang Puppet.

Tutorial sa Puppet

Ang Puppet Tutorial ay ang pangalawang blog ng serye ng Puppet blog. Sana nabasa mo na ang dati kong blog sa “ Ano ang Puppet ”Na nagpapaliwanag ng Pamamahala ng Configuration at kung bakit ito mahalaga sa tulong ng mga use-case.

Sa Tutorial ng Puppet na ito ang mga sumusunod na paksa ay saklaw:





Ano ang Pamamahala sa Pag-configure?

Sa aking nakaraang blog , Nagbigay ako ng isang pagpapakilala sa Pamamahala ng Configuration at kung ano ang mga hamon na makakatulong sa amin na mapagtagumpayan. Sa Puppet Tutorial na ito, ipapaliwanag ko sa iyo ang tungkol sa magkakaibang mga aktibidad na nakasalalay sa pagsasaayos ng Configuration Management.Ngunit bago ito, unawain natin kung ano ang Item sa Pag-configure (CI). Ang isang Item sa Pag-configure ay anumang bahagi ng serbisyo, elemento ng imprastraktura, o iba pang item na kailangang pamahalaan upang matiyak ang matagumpay na paghahatid ng mga serbisyo. Ang mga halimbawa ng CI ay may kasamang mga indibidwal na kinakailangan na dokumento, software, modelo, at plano.



Ang pamamahala ng Configuration ay binubuo ng mga sumusunod na elemento:

  • Pagkakakilalang Pagkakakilanlan
  • Palitan ang Pamamahala
  • Accounting ng Katayuan ng Pag-configure
  • Mga Pag-configure ng Audit

Ipinapaliwanag ng diagram sa ibaba ang mga sangkap na ito:

Mga Bahagi ng Pamamahala ng Configuration - Tutorial ng Puppet - Edureka



Pagkakakilanlan ng Configuration: Ito ang proseso ng:

  • Ang pag-label sa software at mga item sa pag-configure ng hardware na may mga natatanging pagkakakilanlan
  • Kinikilala ang dokumentasyon na naglalarawan sa isang item sa pagsasaayos
  • Pagpapangkat ng nauugnay na mga item sa pagsasaayos sa mga baseline
  • Pagbabago ng label sa mga item sa pagsasaayos at mga baseline.

Baguhin ang Pamamahala: Ito ay isang sistematikong diskarte sa pagharap sa pagbabago kapwa mula sa pananaw ng isang samahan at ng indibidwal.

Accounting ng Katayuan ng Pag-configure: Ito may kasamang proseso ng pagrekord at pag-uulat ng mga paglalarawan ng item sa pagsasaayos (hal. hardware, software, firmware, atbp.) at lahat ng pag-alis mula sa baseline sa panahon ng disenyo at paggawa. Sa kaganapan ng pinaghihinalaang mga problema, ang pagpapatunay ng pagsasaayos ng baseline at naaprubahang pagbabago ay maaaring mabilis na matukoy.

Mga Awtomatikong Pag-configure: Ang mga pag-configure ng audit ay nagbibigay ng isang mekanismo para sa pagtukoy ng degree kung saan ang kasalukuyang estado ng system ay naaayon sa pinakabagong baseline at dokumentasyon. Talaga, ito ay isang pormal na pagsusuri upang mapatunayan na ang produktong inihahatid ay gagana tulad ng na-advertise, na-promosyon o sa anumang paraan na ipinangako sa mga customer. Gumagamit ito ng magagamit na impormasyong bilang kinalabasan ng mga kalidad na pag-audit at pagsubok kasama ang impormasyon sa pagtatasa ng katayuan ng pagsasaayos, upang magbigay ng katiyakan na ang kinakailangan ay binuo.

Ipaunawa sa amin ang Configuration Management sa isang use-case. Ipagpalagay kung kailangan mong mag-update ng isang partikular na software o nais mong palitan ito, Sa kasong iyon ang flowchart sa ibaba ay dapat sundin para sa matagumpay na Pamamahala ng Configuration:

Ngayon ang tamang oras upang maunawaan ang Puppet Architecture.

Puppet Tutorial - Arkitektura ng Papet

Ang papet ay gumagamit ng arkitekturang Master-Slave. Ang diagram sa ibaba ay nagpapakita ng pareho:

Ang mga sumusunod na pag-andar ay ginaganap sa itaas na imahe:

  • Ang Puppet Agent ay nagpapadala ng mga Katotohanan sa Puppet Master. Ang katotohanan ay karaniwangpares ng key / halaga ng data na kumakatawan sa ilang aspeto ng estado ng Slave, tulad ng IP address, up-time, operating system, o kung ito ay isang virtual machine. Ipapaliwanag ko ang mga katotohanan nang detalyado sa paglaon sa blog.
  • Ginagamit ng Puppet Master ang mga katotohanan upang mag-ipon ng isang Catalog na tumutukoy sa kung paano dapat i-configure ang Alipin. Catalogay isang dokumento na naglalarawan ng nais na estado para sa bawat mapagkukunan na pinamamahalaan ng Puppet Master sa isang Alipin. Ipapaliwanag ko ang mga katalogo at mapagkukunan nang detalyado sa paglaon.
  • Ang mga Puppet Slave ay nag-uulat pabalik sa Master na nagpapahiwatig na ang Pag-configure ay kumpleto, na makikita sa dashboard ng Puppet.

Suriin ang video ng tutorial na Puppet na ito para sa malalim na pag-unawa sa Puppet.

Puppet Tutorial para sa Mga Nagsisimula | Pagsasanay sa DevOps | Edureka

Puppet Tutorial - Puppet Master at Slave Communication

Ang Puppet Master at Alipin ay nakikipag-usap sa pamamagitan ngisang ligtas na naka-encrypt na channel sa tulong ng SSL. Ang diagram sa ibaba ay nagpapakita ng pareho:

Tulad ng nakikita mo mula sa itaas na Larawan:

  • Humihiling ang Puppet Slave ng sertipiko ng Puppet Master.
  • Matapos matanggap ang sertipiko ng Puppet Master, humiling ang Master ng sertipiko ng Alipin.
  • Kapag pinirmahan na ni Master ang sertipiko ng Alipin, humihiling ang Alipin para sa pagsasaayos / data.
  • Panghuli, magpapadala ang Puppet Master ng pagsasaayos sa Puppet Slave.

Tingnan natin ngayon ang iba't ibang mga sangkap ng Puppet.

Puppet Tutorial - Mga Bahagi ng Papet

Manifest: Ang bawat Alipin ay nakakuha ng mga detalye ng pagsasaayos nito sa Puppet Master, na nakasulat sa katutubong wika ng Puppet. Ang mga detalyeng ito ay nakasulat sa wikang maaaring maintindihan ng Puppet at tatawaging Manifest. Ang mga ito ay binubuo ng Puppet code at ginagamit ng kanilang mga filename ang .pp karugtong Ito ay karaniwang mga programang Puppet.
Halimbawa: Maaari kang magsulat ng isang Manifest sa Puppet Master na lumilikha ng isang file at mai-install ang Apache server sa lahat ng Mga Alipin ng Puppet na konektado sa Puppet Master.

Modyul: Ang isang Puppet Module ay isang koleksyon ng mga Manifest at data (tulad ng mga katotohanan, file, at template), at mayroon silang isang tukoy na istraktura ng direktoryo. Kapaki-pakinabang ang mga module para sa pag-aayos ng iyong Puppet code, dahil pinapayagan ka nilang hatiin ang iyong code sa maraming mga Manifest. Ang mga module ay may sariling mga bundle ng code at data.

Mapagkukunan: Ang mga mapagkukunan ay ang pangunahing yunit para sa mga pagsasaayos ng system ng pagmomodelo. Inilalarawan ng bawat Mapagkukunan ang ilang aspeto ng isang system, tulad ng isang tukoy na serbisyo o pakete.

Mukha: Ang Facter ay nangangalap ng pangunahing impormasyon (katotohanan) tungkol sa Puppet Slave tulad ng mga detalye ng hardware, setting ng network, uri at bersyon ng OS, mga IP address, MAC address, mga SSH key, at marami pa. Ang mga katotohanang ito ay ginawang magagamit sa Puppet Master's Manifests bilang mga variable.

Mcollective: Ito ay isang balangkas na nagpapahintulot sa maraming mga trabaho na maipatupad nang kahanay sa maraming mga Alipin. Gumagawa ito ng iba't ibang mga pag-andar tulad ng:

  • Makipag-ugnay sa mga kumpol ng Mga Alipin, maging sa maliliit na grupo o napakalaking pag-deploy.
  • Gumamit ng broadcast paradigm upang ipamahagi ang mga kahilingan. Lahat ng Mga Alipin ay tumatanggap ng lahat ng mga kahilingan nang sabay-sabay, ang mga kahilingan ay may kalakip na mga filter, at ang Mga Alipin lamang na tumutugma sa filter ang kikilos sa mga kahilingan.
  • Gumamit ng mga simpleng tool ng command-line upang tawagan ang malalayong Mga Alipin.
  • Sumulat ng mga pasadyang ulat tungkol sa iyong imprastraktura.

Mga Catalog: Inilalarawan ng isang Catalog ang nais na estado ng bawat pinamamahalaang mapagkukunan sa isang Alipin. Ito ay isang pagtitipon ng lahat ng mga mapagkukunan na inilalapat ng Puppet Master sa isang naibigay na Alipin, pati na rin ang mga ugnayan sa pagitan ng mga mapagkukunang iyon.Ang mga katalogo ay pinagsama-sama ng isang Puppet Master mula sa Manifest at data na ibinigay ng Alipin (tulad ng mga katotohanan, sertipiko, at isang kapaligiran kung ang isa ay ibinigay), pati na rin ang isang opsyonal na panlabas na data (tulad ng data mula sa isang panlabas na tagapag-ugnay ng Slave, na-export na mapagkukunan, at pagpapaandar). Pagkatapos ay ihinahatid ng Guro ang naipon na Catalog sa Alipin kapag hiniling.

Ngayon sa Tutorial na Puppet na ito ang aking susunod na seksyon ay nakatuon sa Hands-On.

Puppet Tutorial - Mga Kamay

Ipapakita ko sa iyo kung paano i-deploy ang MySQL at PHP mula sa Puppet Master hanggang Puppet Slave. Gumagamit lamang ako ng isang Alipin para sa layunin ng pagpapakita mayroong maaaring daan-daang mga Alipin na nakakonekta sa isang Master. Upang maipadala ang PHP at MySQL gagamit ako ng mga paunang natukoy na mga module na magagamit sa forge.puppet.com. Maaari kang lumikha ng iyong sariling mga module din.

Hakbang 1: Sa Puppet Master i-install ang MySQL at PHP modules.

Isagawa ito:

1) mag-install ng modyul na papet na puppetlabs-mysql –pagbagong 3.10.0

Ang module na MySQL na ito ay nag-install, nag-configure, at namamahala sa serbisyo ng MySQL. Pinangangasiwaan ng modyul na ito ang parehong pag-install at pagsasaayos ng MySQL, pati na rin ang pagpapalawak ng Puppet upang payagan ang pamamahala ng mga mapagkukunan ng MySQL, tulad ng mga database, gumagamit, at gawad.

2) pag-install ng module ng papet na mayflower-php –version 4.0.0-beta1

Ang modyul na ito ay ginagamit para sa pamamahala ng PHP, sa partikular na php-fpm. Ang PHP-FPM (FastCGI Process Manager) ay isang kahaliling pagpapatupad ng PHP FastCGI na may ilang mga karagdagang tampok na kapaki-pakinabang para sa mga site ng anumang laki, lalo na ang mga mas abalang site.

kung paano lumikha ng naka-link na listahan sa c

Hakbang 2: Sa Mga Puppet Manifest isama ang MySQL server at PHP.

Isagawa ito: vi /etc/puppet/manifests/site.pp

Maaari kang gumamit ng anumang iba pang editor pati na rin ang vim, gedit atbp Sa site na ito.pp file idagdag ang sumusunod:

isama ang ':: MySQL :: server' isama ang ':: php'

I-save at mag-quit.

Hakbang 3: Puppet Slaves hinihila ang pagsasaayos nito mula sa Master pana-panahon (pagkatapos ng bawat 30 minuto). Susuriin nito ang pangunahing manifest at ilalapat ang module na tumutukoy sa pag-setup ng MySQL at PHP. Kung nais mong subukan ito kaagad, kailangan mong patakbuhin ang sumusunod na utos sa bawat Slode node:

Isagawa ito: ahente ng papet -t

Kaya ang MySQL at PHP ay matagumpay na na-install sa Slave node.

Hakbang 4: Upang suriin ang bersyon ng MySQL at PHP na naka-install:

Isagawa ito:

1) MySQL -v

2) php -pagbago

Binabati kita! Ang MySQl at PHP ay nakabukas at tumatakbo sa iyong Alipin ng Puppet. Dito ko lang ipinakita sa iyo ang isang Alipin lamang ngunit isipin kung may daan-daang mga Alipin. Sa senaryong iyon ang iyong trabaho ay naging napakadali, Tukuyin lamang ang mga pagsasaayos sa Puppet Master at Puppet Slaves ay awtomatikong susuriin ang pangunahing manifest at ilalapat ang module na tumutukoy sa pag-setup ng MySQL at PHP.

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.