Tutorial marionetă - Soluție One Stop pentru gestionarea configurației



Puppet Tutorial este al doilea blog al seriei de bloguri Puppet. Vorbește despre arhitectura Puppet, componente și un exemplu pentru a implementa mysql și php folosind Puppet.

Tutorial marionetă

Puppet Tutorial este al doilea blog al seriei de bloguri Puppet. Sper că ai citit blogul meu anterior pe „ Ce este Puppet ”Care explică Managementul configurației și de ce este important cu ajutorul cazurilor de utilizare.

În acest tutorial de păpuși vor fi abordate următoarele subiecte:





Ce este Managementul configurației?

In al meu blogul anterior , Am făcut o introducere în Managementul configurației și ce provocări ne ajută să depășim. În acest tutorial de păpuși, vă voi explica despre diferite activități interdependente de gestionare a configurației.Dar înainte de asta, să înțelegem ce este Element de configurare (CI). Un element de configurare este orice componentă de serviciu, element de infrastructură sau alt element care trebuie gestionat pentru a asigura livrarea cu succes a serviciilor. Exemple de CI includ documente de cerințe individuale, software, modele și planuri.



Managementul configurației constă din următoarele elemente:

  • Identificarea configurației
  • Managementul schimbării
  • Configurare Stare Contabilitate
  • Audituri de configurare

Diagrama de mai jos explică aceste componente:

este un master considerat postuniversitar

Componente de gestionare a configurației - Tutorial marionetă - Edureka



Identificare configurație: Este procesul de:

  • Etichetarea elementelor de configurare software și hardware cu identificatori unici
  • Identificarea documentației care descrie un element de configurare
  • Gruparea elementelor de configurare aferente în linii de bază
  • Etichetarea reviziilor la elementele de configurare și linii de bază.

Managementul schimbării: Este o abordare sistematică a abordării schimbării atât din perspectiva unei organizații, cât și a individului.

Contabilitatea stării de configurare: Aceasta include procesul de înregistrare și raportare a descrierilor articolelor de configurare (de exemplu, hardware, software, firmware etc.) și toate plecările de la linia de bază în timpul proiectării și producției. În cazul unor probleme suspectate, verificarea configurației de bază și modificările aprobate pot fi determinate rapid.

Audituri de configurare: Auditurile de configurare oferă un mecanism pentru determinarea gradului în care starea actuală a sistemului este în concordanță cu cea mai recentă linie de bază și documentație. Practic, este o revizuire formală pentru a verifica dacă produsul livrat va funcționa așa cum este promovat, promovat sau în orice fel promis clienților. Folosește informațiile disponibile ca rezultat al auditurilor și testării calității, împreună cu informațiile contabile privind starea configurației, pentru a oferi asigurarea că ceea ce era necesar a fost construit.

Să înțelegem Managementul configurației cu un caz de utilizare. Să presupunem că, dacă trebuie să actualizați un anumit software sau doriți să îl înlocuiți, în acest caz ar trebui urmată diagrama de mai jos pentru gestionarea cu succes a configurației:

Acum este momentul corect pentru a înțelege Arhitectura Păpușilor.

Tutorial marionetă - Arhitectura din Marionetă

Marioneta folosește o arhitectură Master-Slave. Diagrama de mai jos descrie același lucru:

Următoarele funcții sunt îndeplinite în imaginea de mai sus:

  • Agentul de păpuși trimite faptele către Păpușarul. Faptele sunt practicpereche de date cheie / valoare care reprezintă un anumit aspect al stării Slave, cum ar fi adresa IP, actualizarea, sistemul de operare sau dacă este o mașină virtuală. Voi explica Fapte în detaliu mai târziu în blog.
  • Puppet Master folosește faptele pentru a compila un catalog care definește modul în care ar trebui configurat sclavul. Catalogeste un document care descrie starea dorită pentru fiecare resursă pe care Puppet Master o gestionează pe un sclav. Voi explica cataloagele și resursele în detaliu mai târziu.
  • Puppet Slave raportează înapoi Maestrului indicând faptul că configurarea este completă, ceea ce este vizibil în tabloul de bord Puppet.

Vedeți acest video tutorial pentru păpuși pentru o înțelegere profundă a păpușii.

Tutorial marionetă pentru începători | Instruire DevOps | Edureka

Tutorial de păpuși - Comunicare de tip păpușar și sclav

Păpușarul și Sclavul comunică prinun canal securizat criptat cu ajutorul SSL. Diagrama de mai jos descrie același lucru:

După cum puteți vedea din imaginea de mai sus:

  • Puppet Slave cere certificatul Puppet Master.
  • După primirea certificatului Puppet Master, Master solicită certificatul Slave.
  • Odată ce Master a semnat certificatul Slave, Slave solicită configurare / date.
  • În cele din urmă, Puppet Master va trimite configurația către Puppet Slave.

Să aruncăm o privire asupra diferitelor componente Puppet.

Tutorial marionetă - Componente ale Marionetă

Manifeste: Fiecare sclav are detaliile de configurare în Puppet Master, scrise în limba nativă Puppet. Aceste detalii sunt scrise într-un limbaj pe care Puppet îl poate înțelege și sunt denumite Manifeste. Acestea sunt compuse din cod Puppet și numele fișierelor lor folosesc .pp extensie. Acestea sunt practic programe de păpuși.
De exemplu: Puteți scrie un Manifest în Puppet Master care creează un fișier și instalează serverul Apache pe toți Puppet Slaves conectați la Puppet Master.

Modul: Un modul de păpuși este o colecție de manifeste și date (cum ar fi fapte, fișiere și șabloane) și au o structură de director specifică. Modulele sunt utile pentru organizarea codului Puppet, deoarece vă permit să vă împărțiți codul în mai multe Manifeste. Modulele sunt pachete independente de cod și date.

Resursă: Resursele sunt unitatea fundamentală pentru modelarea configurațiilor sistemului. Fiecare resursă descrie un aspect al unui sistem, cum ar fi un anumit serviciu sau pachet.

Caracter: Facterul adună informații de bază (fapte) despre Puppet Slave, cum ar fi detalii hardware, setări de rețea, tipul și versiunea sistemului de operare, adrese IP, adrese MAC, chei SSH și multe altele. Aceste fapte sunt apoi puse la dispoziție în Manifestele Maestrului Păpușilor ca variabile.

Mcollective: Este un cadru care permite executarea mai multor lucrări în paralel pe mai multe sclave. Acesta îndeplinește diverse funcții precum:

  • Interacționați cu grupuri de sclavi, fie în grupuri mici, fie în implementări foarte mari.
  • Folosiți o paradigmă de difuzare pentru a distribui cererile. Toți sclavii primesc toate cererile în același timp, solicitările au filtre atașate și numai sclavii care corespund filtrului vor acționa la cereri.
  • Utilizați instrumente simple din linia de comandă pentru a apela sclavi la distanță.
  • Scrieți rapoarte personalizate despre infrastructura dvs.

Cataloage: Un catalog descrie starea dorită a fiecărei resurse gestionate pe un Slave. Este o compilație a tuturor resurselor pe care Maestru de Păpuși le aplică unui Sclav dat, precum și a relațiilor dintre resursele respective.Catalogele sunt compilate de un Puppet Master din Manifestări și date furnizate de Slave (cum ar fi fapte, certificate și un mediu dacă este furnizat), precum și date externe opționale (cum ar fi date dintr-un clasificator Slave extern, resurse exportate, și funcții). Stăpânul servește apoi Catalogul compilat Sclavului la cerere.

Acum, în acest tutorial cu păpuși, următoarea mea secțiune se va concentra pe Hands-On.

Tutorial marionetă - Hands-On

Vă voi arăta cum să implementați MySQL și PHP de la Puppet Master la Puppet Slave. Folosesc un singur sclav în scop demonstrativ, pot exista sute de sclavi conectați la un singur Maestru. Pentru a implementa PHP și MySQL, voi folosi module predefinite disponibile la forge.puppet.com. Vă puteți crea și propriile module.

Pasul 1: În Puppet Master instalați module MySQL și PHP.

Executați acest lucru:

1) modulul de păpuși instalează puppetlabs-mysql –versiunea 3.10.0

Acest modul MySQL instalează, configurează și gestionează serviciul MySQL. Acest modul gestionează atât instalarea și configurarea MySQL, cât și extinderea Puppet pentru a permite gestionarea resurselor MySQL, cum ar fi baze de date, utilizatori și granturi.

2) instalarea modulului marionetă mayflower-php –version 4.0.0-beta1

ridica ceva la o putere în Java

Acest modul este utilizat pentru gestionarea PHP, în special php-fpm. PHP-FPM (FastCGI Process Manager) este o implementare alternativă PHP FastCGI cu câteva caracteristici suplimentare utile pentru site-uri de orice dimensiune, în special site-uri mai ocupate.

Pasul 2: În Manifestele Puppet se numără serverul MySQL și PHP.

Executați acest lucru: vi /etc/puppet/manifests/site.pp

Puteți utiliza orice alt editor precum vim, gedit etc. În acest fișier site.pp adăugați următoarele:

include ':: mysql :: server' include ':: php'

Salvează și închide.

Pasul 3: Puppet Slaves își extrage periodic configurația de la Master (după fiecare 30 de minute). Acesta va evalua manifestul principal și va aplica modulul care specifică configurarea MySQL și PHP. Dacă doriți să o încercați imediat, trebuie să rulați următoarea comandă pe fiecare nod Slave:

Executați acest lucru: agent marionetă -t

Deci MySQL și PHP sunt instalate cu succes pe nodul Slave.

Pasul 4: Pentru a verifica versiunea MySQL și PHP instalate:

convertește zecimalul în binar în python

Executați acest lucru:

1) mysql -v

2) versiunea php

Felicitări! MySQl și PHP sunt puse în funcțiune în Puppet Slave. Aici v-am arătat un singur sclav, dar imaginați-vă dacă există sute de sclavi. În acest scenariu, munca dvs. devine atât de ușoară, trebuie doar să specificați configurațiile din Puppet Master și Puppet Slaves vor evalua automat manifestul principal și vor aplica modulul care specifică configurarea MySQL și PHP.

Dacă ai găsit asta Tutorial marionetă relevant, verificați de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Cursul Edureka DevOps Certification Training ajută cursanții să câștige expertiză în diferite procese și instrumente DevOps, cum ar fi Puppet, Jenkins, Nagios și GIT pentru automatizarea mai multor pași în SDLC.