{"id":80491,"date":"2020-05-06T13:42:24","date_gmt":"2020-05-06T11:42:24","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/obrezaem-niti-perehod-s-puppet-enterprise-na-ansible-tower-chast-1"},"modified":"2020-05-06T13:42:24","modified_gmt":"2020-05-06T11:42:24","slug":"obrezaem-niti-perehod-s-puppet-enterprise-na-ansible-tower-chast-1","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/obrezaem-niti-perehod-s-puppet-enterprise-na-ansible-tower-chast-1","title":{"rendered":"T\u0103ierea firelor: tranzi\u021bia de la Puppet Enterprise la Ansible Tower. Partea 1","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Serviciul Na\u021bional de Informa\u021bii Satelitar al Datelor de Mediu (NESDIS) a redus cheltuielile cu 35% pentru gestionarea configura\u021biei Red Hat Enterprise Linux (RHEL), trec\u00e2nd de la Puppet Enterprise la Ansible Tower. \u00cen acest video din categoria \u201ecum am f\u0103cut asta\u201d, inginerul sistemului Michael Rau justific\u0103 efectuarea acestei migra\u021bii, oferind sfaturi utile \u0219i experien\u021ba acumulat\u0103 \u00een urma trecerii de la un SCM la altul. <\/p>\n<p>Din acest video ve\u021bi afla:<\/p>\n<ul>\n<li>cum s\u0103 justifica\u021bi conducerea privind oportunitatea tranzi\u021biei de la Puppet Enterprise la Ansible Tower;<\/li>\n<li>ce strategii s\u0103 folosi\u021bi pentru a face tranzi\u021bia c\u00e2t mai lin\u0103;<\/li>\n<li>sfaturi pentru transcodarea manifestelor PE \u00een Ansible Playbook;<\/li>\n<li>recomand\u0103ri pentru instalarea optim\u0103 a Ansible Tower.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"T\u0103ierea firelor: tranzi\u021bia de la Puppet Enterprise la Ansible Tower. Partea 1\" src=\"\/wp-content\/uploads\/2020\/05\/6c4ee5db9a9f584cd69109549827b5b2.jpg\" style=\"display:block;margin: 0 auto;\" \/><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Salut tuturor, m\u0103 numesc Michael Rau, sunt inginer sistem senior la ActioNet, care lucreaz\u0103 pentru Administra\u021bia Na\u021bional\u0103 Oceanic\u0103 \u0219i Atmosferic\u0103 (NOAA) \u00een cadrul serviciului NESDIS. Ast\u0103zi vom vorbi despre t\u0103ierea firelor \u2013 propria mea experien\u021b\u0103 \u00een migrarea de la Puppet Enterprise la Ansible Tower. Tema acestei prezent\u0103ri este s\u0103 \u201ene uit\u0103m la cicatricile mele\u201d, l\u0103sate dup\u0103 ce am efectuat aceast\u0103 tranzi\u021bie la \u00eenceputul anului. Vreau s\u0103 \u00eemp\u0103rt\u0103\u0219esc ce am \u00eenv\u0103\u021bat pe parcursul acestui proces. A\u0219a c\u0103, atunci c\u00e2nd v\u0103 implica\u021bi \u00een a\u0219a ceva, folosind experien\u021ba mea, ve\u021bi putea realiza tranzi\u021bia f\u0103r\u0103 niciun efort inutil.<\/p>\n<p>Ve\u021bi vedea slide-uri asem\u0103n\u0103toare cu acesta la \u00eenceputul fiec\u0103rei prezent\u0103ri de la Ansible Fest. Acest slide contureaz\u0103 povestea automatiz\u0103rii companiei mele. Nu sunt nou \u00een acest domeniu, deoarece folosesc Puppet\/Puppet Enterprise din 2007. Am \u00eenceput s\u0103 lucrez cu Ansible din 2016 \u0219i, ca mul\u021bi al\u021bi utilizatori ai acestui produs, am fost atras de posibilit\u0103\u021bile \u201etrucurilor\u201d prin intermediul liniei de comand\u0103 \u0219i a scenariilor simple (playbooks). La sf\u00e2r\u0219itul anului 2017, am discutat cu conducerea mea despre motivele serioase pentru a trece la Ansible Tower. \u00centr-o minut\u0103 voi vorbi despre motivele care m-au determinat s\u0103 fac acest pas. Dup\u0103 ce am ob\u021binut aprobarea conducerii, au mai trecut c\u00e2teva luni pentru a implementa planul, iar eu am realizat tranzi\u021bia \u00een ianuarie-februarie a acestui an. A\u0219adar, am renun\u021bat complet la Puppet \u00een favoarea Ansible, \u0219i este ceva extraordinar. <\/p>\n<p><img decoding=\"async\" alt=\"T\u0103ierea firelor: tranzi\u021bia de la Puppet Enterprise la Ansible Tower. Partea 1\" src=\"\/wp-content\/uploads\/2020\/05\/0e179ef00aa22edae72270e53d9787df.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCeea ce m\u0103 atrage cel mai mult la Ansible este posibilitatea de a scrie \u0219i utiliza roluri (roles) \u0219i scenarii (playbooks). Rolurile sunt excelente pentru a crea sarcini (tasks) diverse, dar interconectate, \u0219i pentru a plasa toate datele referitoare la aceste sarcini \u00eentr-un singur loc. Playbook-ul este un fi\u0219ier de tip YAML, un scenariu care descrie ac\u021biuni pentru unul sau mai multe gazde. Le explic aceste func\u021bionalit\u0103\u021bi utilizatorilor, \u00een special dezvoltatorilor de software. Ansible Tower ofer\u0103 posibilitatea de a spune: \u201enu, nu ai acces la shell, dar \u00ee\u021bi ofer posibilitatea de a lansa toate procesele Tower \u0219i de a reporni serviciul c\u00e2nd ai nevoie.\u201d Voi vorbi despre mediu de lucru \u0219i echipamentele utilizate. <\/p>\n<p><img decoding=\"async\" alt=\"T\u0103ierea firelor: tranzi\u021bia de la Puppet Enterprise la Ansible Tower. Partea 1\" src=\"\/wp-content\/uploads\/2020\/05\/1dd8f9d0025660a1f3c17a174681caec.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAceasta este o re\u021bea LAN federal\u0103, cu 7 site-uri fizice conectate prin MPLS cloud, 140 de servere RHEL, 99% dintre acestea fiind virtuale (vSphere), hardware SuperMicro, stocare de re\u021bea NexentaStore, un set de switch-uri Cisco, Arista \u0219i Cumulus \u0219i solu\u021bii de management unificat pentru amenin\u021b\u0103ri Fortinet UTM pe fiecare site. <\/p>\n<p>Re\u021beaua federal\u0103 \u00eenseamn\u0103 c\u0103 trebuie s\u0103 folosesc toate mijloacele de protec\u021bie a informa\u021biilor prev\u0103zute de legisla\u021bie. Trebuie s\u0103 ai \u00een vedere c\u0103 Puppet Enterprise nu suport\u0103 majoritatea echipamentelor utilizate de noi. Suntem nevoi\u021bi s\u0103 utiliz\u0103m hardware de buget, deoarece structurile guvernamentale se confrunt\u0103 cu probleme de finan\u021bare \u00een acest sens. De aceea, achizi\u021bion\u0103m \u201ehardware\u201d de clas\u0103 SuperMicro \u0219i ne construim echipamentele din componente separate, a c\u0103ror \u00eentre\u021binere este garantat\u0103 prin contracte guvernamentale. Folosim Linux, iar aceasta este una dintre motivele importante pentru tranzi\u021bia la Ansible. <\/p>\n<p>Povestea noastr\u0103 cu Puppet este urm\u0103toarea.<\/p>\n<p><img decoding=\"async\" alt=\"T\u0103ierea firelor: tranzi\u021bia de la Puppet Enterprise la Ansible Tower. Partea 1\" src=\"\/wp-content\/uploads\/2020\/05\/a893499e8bbabf1223461f11d737e777.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00cen 2007 aveam o mic\u0103 re\u021bea de 20-25 de noduri, unde am implementat Puppet. \u00cen principal, aceste noduri erau pur \u0219i simplu \u201ecutii\u201d RedHat. \u00cen 2010, am \u00eenceput s\u0103 folosim interfa\u021ba web Puppet Dashboard pentru 45 de noduri. Pe m\u0103sur\u0103 ce re\u021beaua a continuat s\u0103 se extind\u0103, \u00een 2014 am trecut la PE 3.3, efectu\u00e2nd o migrare complet\u0103 cu rescrierea manifestului pentru 75 de noduri. A fost necesar, deoarece Puppet \u00eei place s\u0103 schimbe regulile jocului, iar \u00een acest caz au schimbat complet limbajul. Un an mai t\u00e2rziu, c\u00e2nd suportul pentru versiunea 3 a Puppet Enterprise a \u00eencetat, a trebuit s\u0103 migr\u0103m la PE 2015.2. A fost necesar din nou s\u0103 rescriem manifestul pentru noile servere \u0219i s\u0103 achizi\u021bion\u0103m o licen\u021b\u0103 cu un plus pentru 100 de noduri, de\u0219i la acel moment aveam doar 85 de noduri. <\/p>\n<p>Au trecut doar 2 ani \u0219i a trebuit din nou s\u0103 facem o migrare semnificativ\u0103 la noua versiune PE 2016.4. Am cump\u0103rat o licen\u021b\u0103 pentru 300 de noduri, av\u00e2nd doar 130. Din nou, a trebuit s\u0103 facem modific\u0103ri importante \u00een manifest, deoarece noua versiune a limbajului avea o sintax\u0103 diferit\u0103 de cea a versiunii 2015. \u00cen cele din urm\u0103, SCM-ul nostru a trecut de la sistemul de control al versiunilor SVN la Bitbucket (Git). Asta au fost \u201erela\u021biile\u201d noastre cu Puppet.<\/p>\n<p>A\u0219adar, a trebuit s\u0103 explic conducerii de ce trebuie s\u0103 trecem la un alt SCM, folosind urm\u0103toarele argumente. Primul - costul ridicat al serviciului. Am discutat cu reprezentan\u021bi de la RedHat, iar ace\u0219tia au spus c\u0103 costul \u00eentre\u021binerii unei re\u021bele de 300 de noduri cu Ansible Tower este jum\u0103tate din costul Puppet Enterprise. Dac\u0103 achizi\u021biona\u021bi \u0219i Ansible Engine, costul va fi aproximativ acela\u0219i, dar ve\u021bi ob\u021bine mult mai multe func\u021bionalit\u0103\u021bi dec\u00e2t cu PE. Deoarece suntem o companie de stat finan\u021bat\u0103 din bugetul federal, acesta este un argument destul de solid. <\/p>\n<p><img decoding=\"async\" alt=\"T\u0103ierea firelor: tranzi\u021bia de la Puppet Enterprise la Ansible Tower. Partea 1\" src=\"\/wp-content\/uploads\/2020\/05\/8077b9a470286c795a13de3cd6470ce9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAl doilea argument este versatilitatea. Puppet suport\u0103 doar echipamentele pe care este instalat agentul Puppet. Asta \u00eenseamn\u0103 c\u0103 pe toate switch-urile trebuie s\u0103 fie instalat agentul, iar acesta trebuie s\u0103 fie de ultima versiune. \u0218i dac\u0103 o parte din switch-uri suport\u0103 o versiune, iar alte switch-uri suport\u0103 alta, va fi necesar s\u0103 instala\u021bi pe ele noua versiune a agentului PE, astfel \u00eenc\u00e2t toate s\u0103 poat\u0103 func\u021biona \u00eentr-un singur sistem SCM.<\/p>\n<p>Sistemul Ansible Tower func\u021bioneaz\u0103 diferit, deoarece nu are agen\u021bi, dar are module care suport\u0103 switch-urile Cisco \u0219i toate celelalte switch-uri. Aceast\u0103 SCM suport\u0103 Qubes OS, Linux \u0219i 4.NET UTM. Ansible Tower suport\u0103, de asemenea, controlerele de stocare a re\u021belei NexentaStore, bazate pe nucleul Illumos \u2013 un sistem de operare open-source bazat pe Unix. Aceasta este o suport foarte limitat, dar Ansible Tower \u00eel ofer\u0103 totu\u0219i. <\/p>\n<p>Al treilea argument, foarte important at\u00e2t pentru mine, c\u00e2t \u0219i pentru administra\u021bia noastr\u0103, este u\u0219urin\u021ba \u00een \u00eenv\u0103\u021bare. Am \u00eenv\u0103\u021bat modulele \u0219i codul manifestelor Puppet timp de 10 ani, dar am studiat Ansible \u00eentr-o s\u0103pt\u0103m\u00e2n\u0103, deoarece este mult mai u\u0219or de utilizat aceast\u0103 SCM. Dac\u0103 rulezi fi\u0219iere executabile, desigur, dac\u0103 nu o faci f\u0103r\u0103 nevoie, atunci cu ele lucreaz\u0103 gestionare rezonabile \u0219i receptive. Scripturile playbooks, bazate pe YAML, se caracterizeaz\u0103 printr-o \u00eenv\u0103\u021bare u\u0219oar\u0103 \u0219i o utilizare rapid\u0103. Cei care nu au auzit niciodat\u0103 de YAML pot pur \u0219i simplu s\u0103 citeasc\u0103 scripturile \u0219i s\u0103 \u00een\u021beleag\u0103 u\u0219or cum func\u021bioneaz\u0103. <\/p>\n<p>Sincer, Puppet complic\u0103 foarte mult munca ta ca dezvoltator, deoarece se bazeaz\u0103 pe utilizarea Puppet Master. Aceasta este singura ma\u0219in\u0103 care are dreptul s\u0103 comunice cu agen\u021bii Puppet. Dac\u0103 ai f\u0103cut vreo modificare \u00een manifest \u0219i vrei s\u0103 testezi codul t\u0103u, trebuie s\u0103 rescrii codul pentru Puppet Master, adic\u0103 s\u0103 configurezi fi\u0219ierul Puppet-master \/etc\/hosts pentru a conecta to\u021bi clien\u021bii \u0219i s\u0103 porne\u0219ti serviciul Puppet Server. Numai dup\u0103 aceea po\u021bi testa func\u021bionarea echipamentului de re\u021bea pe un singur host. Este o procedur\u0103 destul de dureroas\u0103. <br \/>\n\u00cen Ansible, totul este mult mai simplu. Tot ce trebuie s\u0103 faci este s\u0103 dezvol\u021bi cod pentru o ma\u0219in\u0103 care poate comunica prin protocol SSH cu host-ul de testat. Este mult mai u\u0219or de utilizat.<\/p>\n<p>Urm\u0103torul mare avantaj al Ansible Tower este posibilitatea de a utiliza sistemul de suport pe care \u00eel ai deja \u0219i de a p\u0103stra configura\u021bia existent\u0103 a echipamentului. Aceast\u0103 SCM folose\u0219te f\u0103r\u0103 nicio ac\u021biune suplimentar\u0103 toate informa\u021biile disponibile despre infrastructura ta \u0219i echipamente, ma\u0219ini virtuale, servere etc. Poate comunica cu serverele tale RH Satellite, dac\u0103 le ai, \u0219i \u00ee\u021bi ofer\u0103 o integrare pe care nu o vei ob\u021bine niciodat\u0103 lucr\u00e2nd cu Puppet.<\/p>\n<p>O alt\u0103 problem\u0103 important\u0103 este controlul detaliat. \u0218ti\u021bi c\u0103 Puppet este un sistem modular, este o aplica\u021bie client-server, a\u0219a c\u0103 trebuie s\u0103 defini\u021bi aspectele existente ale func\u021bion\u0103rii tuturor ma\u0219inilor dumneavoastr\u0103 \u00eentr-un singur manifest lung. \u00cen plus, starea fiec\u0103rui element individual al sistemului trebuie testat\u0103 la fiecare jum\u0103tate de or\u0103 \u2013 aceasta este perioada implicit\u0103. A\u0219a func\u021bioneaz\u0103 Puppet.<\/p>\n<p>Tower v\u0103 scap\u0103 de aceast\u0103 problem\u0103. Pute\u021bi executa f\u0103r\u0103 restric\u021bii cele mai variate procese pe diferite echipamente, pute\u021bi efectua lucr\u0103ri esen\u021biale, rula alte procese importante, configura sistemul de securitate, lucra cu baze de date. Pute\u021bi face tot ce \u00een Puppet Enterprise este legat de dificult\u0103\u021bi specifice. A\u0219adar, dac\u0103 a\u021bi realizat configura\u021bia pe un host, va fi nevoie de timp pentru ca modific\u0103rile s\u0103 aib\u0103 efect pe celelalte host-uri. \u00cen Ansible, toate modific\u0103rile intr\u0103 \u00een vigoare simultan.<\/p>\n<p>\u00cen cele din urm\u0103, s\u0103 examin\u0103m modul de securitate. \u00cen Ansible Tower, acesta este implementat \u00eentr-un mod uimitor, cu o mare precizie \u0219i aten\u021bie. Pute\u021bi oferi utilizatorilor acces la servicii specifice sau la anumite host-uri. Eu procedez astfel cu angaja\u021bii mei, care sunt obi\u0219nui\u021bi s\u0103 lucreze pe Windows, limit\u00e2ndu-le accesul la shell-ul Linux. Le ofer un astfel de acces la Tower, \u00eenc\u00e2t s\u0103 poat\u0103 efectua doar acele sarcini \u0219i s\u0103 ruleze doar acele servicii care \u021bin de competen\u021ba lor.<\/p>\n<p><img decoding=\"async\" alt=\"T\u0103ierea firelor: tranzi\u021bia de la Puppet Enterprise la Ansible Tower. Partea 1\" src=\"\/wp-content\/uploads\/2020\/05\/f3bd3b26cf20225b6e1800e09dbcfe43.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nS\u0103 lu\u0103m \u00een considerare lucrurile pe care trebuie s\u0103 le face\u021bi \u00eenainte de a facilita tranzi\u021bia la Ansible Tower. \u00cen primul r\u00e2nd, trebuie s\u0103 v\u0103 preg\u0103ti\u021bi echipamentele. Dac\u0103 anumite elemente ale infrastructurii dvs. lipsesc \u00een baza de date, trebuie ad\u0103ugate acolo. Exist\u0103 sisteme care nu \u00ee\u0219i modific\u0103 caracteristicile \u0219i, prin urmare, lipsesc din baza de date Puppet, dar dac\u0103 nu le aduce\u021bi acolo \u00eenainte de tranzi\u021bia la Tower, ve\u021bi pierde o serie de avantaje. Aceasta poate fi o baz\u0103 de date \u201ebrut\u0103\u201d preliminar\u0103, dar trebuie s\u0103 con\u021bin\u0103 informa\u021bii despre tot echipamentul pe care \u00eel ave\u021bi. Prin urmare, ar trebui s\u0103 scrie\u021bi un script dinamic pentru echipamente, care s\u0103 aduc\u0103 automat toate modific\u0103rile infrastructurii \u00een baza de date, astfel \u00eenc\u00e2t Ansible s\u0103 \u0219tie ce gazde ar trebui s\u0103 existe \u00een noul sistem. Nu va trebui s\u0103 informa\u021bi aceast\u0103 SCM despre ce gazde a\u021bi ad\u0103ugat \u0219i care gazde nu mai exist\u0103, deoarece toate acestea le va \u00eenv\u0103\u021ba automat. Cu c\u00e2t mai multe date vor fi \u00een baza de date, cu at\u00e2t Ansible va fi mai util \u0219i mai flexibil. Lucreaz\u0103 ca \u0219i cum ar citi pur \u0219i simplu din baza de date codul de bare al st\u0103rii echipamentului.<\/p>\n<p>Petrece\u021bi ceva timp familiariz\u00e2ndu-v\u0103 cu func\u021bionarea liniei de comand\u0103 \u00een Ansible. Rula\u021bi c\u00e2teva comenzi speciale pentru a verifica func\u021bionarea scriptului pentru echipamente, scrie\u021bi \u0219i rula\u021bi c\u00e2teva scenarii playbook simple, dar utile, folosi\u021bi \u0219abloane Jinja2 acolo unde este cazul. \u00cencerca\u021bi s\u0103 scrie\u021bi un rol \u0219i un scenariu pentru un proces complex \u00een mai multe etape, folosind o configura\u021bie standard, des \u00eent\u00e2lnit\u0103 a echipamentului. Juca\u021bi-v\u0103 cu aceste lucruri, testa\u021bi cum func\u021bioneaz\u0103. Astfel, ve\u021bi \u00eenv\u0103\u021ba cum s\u0103 utiliza\u021bi instrumentele pentru a crea bibliotecile care sunt folosite \u00een Tower. Am spus deja c\u0103 preg\u0103tirea mea pentru tranzi\u021bie a durat aproximativ 3 luni. Cred c\u0103, baz\u00e2ndu-v\u0103 pe experien\u021ba mea, ve\u021bi reu\u0219i s\u0103 face\u021bi asta mai repede. Nu considera\u021bi acest timp pierdut, deoarece mai t\u00e2rziu ve\u021bi sim\u021bi toate avantajele muncii realizate. <\/p>\n<p>Apoi, trebuie s\u0103 decide\u021bi ce a\u0219tepta\u021bi de la Ansible Tower, ce anume ar trebui s\u0103 fac\u0103 acest sistem pentru dvs. <\/p>\n<p><img decoding=\"async\" alt=\"T\u0103ierea firelor: tranzi\u021bia de la Puppet Enterprise la Ansible Tower. Partea 1\" src=\"\/wp-content\/uploads\/2020\/05\/4511b3f34d57e489be1103c3b77fc98f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAve\u021bi nevoie de desf\u0103\u0219urarea unui sistem pe echipamente goale, pe ma\u0219ini virtuale goale? Sau dori\u021bi s\u0103 p\u0103stra\u021bi condi\u021biile ini\u021biale de func\u021bionare \u0219i configura\u021bia echipamentelor existente? Acesta este un aspect foarte important pentru activitatea companiilor de stat, a\u0219a c\u0103 trebuie s\u0103 fi\u021bi siguri c\u0103 ve\u021bi putea efectua migrarea \u0219i desf\u0103\u0219ura Ansible pe configura\u021bia existent\u0103. Defini\u021bi procesele administrative de rutin\u0103 pe care dori\u021bi s\u0103 le automatiza\u021bi. Clarifica\u021bi dac\u0103 ave\u021bi nevoie s\u0103 desf\u0103\u0219ura\u021bi aplica\u021bii \u0219i servicii specifice pe noul sistem. Elabora\u021bi o list\u0103 cu ceea ce dori\u021bi s\u0103 face\u021bi \u0219i ordona\u021bi priorit\u0103\u021bile. <\/p>\n<p>Apoi, \u00eencepe\u021bi s\u0103 scrie\u021bi codul scripturilor \u0219i rolurilor care vor asigura \u00eendeplinirea sarcinilor planificate de dumneavoastr\u0103. Combina\u021bi-le \u00een Projects, o colec\u021bie logic\u0103 a scripturilor playbook corespunz\u0103toare. Fiecare Project va corespunde unui depozit Git separat sau altui depozit, \u00een func\u021bie de managerul de cod pe care \u00eel utiliza\u021bi. Pute\u021bi gestiona scripturile playbook \u0219i directoarele playbook, plas\u00e2ndu-le manual \u00een Project Base Path pe serverul Tower sau plas\u00e2nd playbook \u00een orice sistem de gestionare a codului surs\u0103 (SCM) acceptat de Tower, inclusiv Git, Subversion, Mercurial \u0219i Red Hat Insights. \u00cen interiorul unui singur Project, pute\u021bi plasa c\u00e2te scripturi dori\u021bi. De exemplu, am creat un Project de baz\u0103, \u00een care am plasat un script pentru elementele de baz\u0103 RedHat, un script pentru baza Linux, scripturi pentru celelalte metrici de baz\u0103. Astfel, \u00eentr-un singur proiect erau prezente cele mai diverse roluri \u0219i scripturi, gestionate dintr-un singur depozit Git. <\/p>\n<p>Rula\u021bi toate aceste lucruri prin linia de comand\u0103, este o modalitate bun\u0103 de a verifica func\u021bionalitatea lor. Astfel, v\u0103 ve\u021bi preg\u0103ti pentru instalarea Tower.<\/p>\n<p>Hai s\u0103 discut\u0103m pu\u021bin despre transcodificarea manifestului Puppet, deoarece am petrecut mult timp cu asta, p\u00e2n\u0103 nu mi-am dat seama ce este cu adev\u0103rat necesar s\u0103 fac. <\/p>\n<p><img decoding=\"async\" alt=\"T\u0103ierea firelor: tranzi\u021bia de la Puppet Enterprise la Ansible Tower. Partea 1\" src=\"\/wp-content\/uploads\/2020\/05\/abbc9ffb10b623dc29bcd975dca3bb80.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA\u0219a cum am spus, Puppet stocheaz\u0103 toate set\u0103rile \u0219i parametrii hardware-ului \u00eentr-un singur manifest lung, iar \u00een acest manifest se afl\u0103 tot ceea ce trebuie s\u0103 fac\u0103 acest SCM. C\u00e2nd face\u021bi migrarea, nu trebuie s\u0103 introduce\u021bi toate sarcinile \u00eentr-o singur\u0103 list\u0103; \u00een schimb, g\u00e2ndi\u021bi-v\u0103 la structura noului sistem: roluri, scenarii, etichete, grupuri \u0219i ceea ce ar trebui s\u0103 includ\u0103. Unele dintre elementele autonome ale re\u021belei ar trebui grupate \u00een grupuri pentru care pot fi create scenarii. Elementele mai complexe ale infrastructurii, care implic\u0103 un num\u0103r mare de resurse, inclusiv clasele autonome, pot fi integrate \u00een roluri. \u00cenainte de migrare, trebuie s\u0103 clarifica\u021bi acest lucru. Dac\u0103 crea\u021bi roluri sau scenarii voluminoase, care nu se \u00eencadreaz\u0103 pe un singur ecran, ar trebui s\u0103 folosi\u021bi etichete pentru a putea capta p\u0103r\u021bi individuale ale infrastructurii. <\/p>\n<p>18:00<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/500588\/\"> T\u0103iem firele: migrarea de la Puppet Enterprise la Ansible Tower. Partea 2 <\/a><\/noindex><\/p>\n<h3>Pu\u021bin publicitate \ud83d\ude42<\/h3>\n<p>\nMul\u021bumim c\u0103 r\u0103m\u00e2ne\u021bi cu noi. V\u0103 plac articolele noastre? Dori\u021bi s\u0103 vede\u021bi mai multe materiale interesante? Sus\u021bine\u021bi-ne, efectu\u00e2nd o comand\u0103 sau recomand\u00e2ndu-ne prietenilor, <noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/cloudvps\/nl\">VPS cloud pentru dezvoltatori de la 4,99 $<\/a><\/noindex>, <b>un echivalent unic pentru serverele entry-level, care a fost creat de noi pentru voi:<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/347386\/\">Toat\u0103 adev\u0103rul despre VPS (KVM) E5-2697 v3 (6 nuclee) 10GB DDR4 480GB SSD 1Gbps de la 19 $ sau cum s\u0103 \u00eemp\u0103r\u021bi\u021bi corect un server?<\/a><\/noindex> (sunt disponibile op\u021biuni cu RAID1 \u0219i RAID10, p\u00e2n\u0103 la 24 nuclee \u0219i p\u00e2n\u0103 la 40GB DDR4).<\/p>\n<p><b>Dell R730xd la jum\u0103tate de pre\u021b \u00een centrul de date Equinix Tier IV din Amsterdam?<\/b> Numai la noi <b><noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/serversnl\">2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TB de la 199 $<\/a><\/noindex> \u00een Olanda! <b>Dell R420 \u2014 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB \u2014 de la 99 $!<\/b><\/b> Citi\u021bi despre <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/329618\/\">Cum s\u0103 construi\u021bi o infrastructur\u0103 de clas\u0103 enterprise folosind servere Dell R730xd E5-2650 v4 la pre\u021buri foarte mici de 9000 \u20ac?<\/a><\/noindex><br \/>\n<br \/>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/500400\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u043b\u0443\u0436\u0431\u0430 \u0441\u043f\u0443\u0442\u043d\u0438\u043a\u043e\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431 \u043e\u043a\u0440\u0443\u0436\u0430\u044e\u0449\u0435\u0439 \u0441\u0440\u0435\u0434\u0435 (NESDIS) \u043d\u0430 35% \u0441\u043d\u0438\u0437\u0438\u043b\u0430 \u0441\u0432\u043e\u0438 \u0437\u0430\u0442\u0440\u0430\u0442\u044b \u043d\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 Red Hat Enterprise Linux (RHEL), \u043f\u0435\u0440\u0435\u0439\u0434\u044f \u0441 Puppet Enterprise \u043d\u0430 Ansible Tower. \u0412 \u044d\u0442\u043e\u043c \u0432\u0438\u0434\u0435\u043e \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u00ab\u043a\u0430\u043a \u043c\u044b \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043b\u0438\u00bb \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u041c\u0430\u0439\u043a\u043b \u0420\u0430\u0443 \u043e\u0431\u043e\u0441\u043d\u043e\u0432\u044b\u0432\u0430\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u044d\u0442\u043e\u0439 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438, \u0434\u0435\u043b\u0438\u0442\u0441\u044f \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u043c\u0438 \u0441\u043e\u0432\u0435\u0442\u0430\u043c\u0438 \u0438 \u043e\u043f\u044b\u0442\u043e\u043c, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u043c \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u0441 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":80492,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-80491","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u043b\u0443\u0436\u0431\u0430 \u0441\u043f\u0443\u0442\u043d\u0438\u043a\u043e\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431 \u043e\u043a\u0440\u0443\u0436\u0430\u044e\u0449\u0435\u0439 \u0441\u0440\u0435\u0434\u0435 (NESDIS) \u043d\u0430 35% \u0441\u043d\u0438\u0437\u0438\u043b\u0430 \u0441\u0432\u043e\u0438 \u0437\u0430\u0442\u0440\u0430\u0442\u044b \u043d\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 Red Hat Enterprise Linux (RHEL), \u043f\u0435\u0440\u0435\u0439\u0434\u044f \u0441 Puppet Enterprise \u043d\u0430 Ansible Tower.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/obrezaem-niti-perehod-s-puppet-enterprise-na-ansible-tower-chast-1\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u0431\u0440\u0435\u0437\u0430\u0435\u043c \u043d\u0438\u0442\u0438: \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u0441 Puppet Enterprise \u043d\u0430 Ansible Tower. \u0427\u0430\u0441\u0442\u044c 1 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u043b\u0443\u0436\u0431\u0430 \u0441\u043f\u0443\u0442\u043d\u0438\u043a\u043e\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431 \u043e\u043a\u0440\u0443\u0436\u0430\u044e\u0449\u0435\u0439 \u0441\u0440\u0435\u0434\u0435 (NESDIS) \u043d\u0430 35% \u0441\u043d\u0438\u0437\u0438\u043b\u0430 \u0441\u0432\u043e\u0438 \u0437\u0430\u0442\u0440\u0430\u0442\u044b \u043d\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 Red Hat Enterprise Linux (RHEL), \u043f\u0435\u0440\u0435\u0439\u0434\u044f \u0441 Puppet Enterprise \u043d\u0430 Ansible Tower.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/obrezaem-niti-perehod-s-puppet-enterprise-na-ansible-tower-chast-1\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-05-06T11:42:24+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-06T11:42:24+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47T\u0103iem firele: migrarea de la Puppet Enterprise la Ansible Tower. Partea 1 | ProHoster","description":"Serviciul Na\u021bional de Informa\u021bii despre Datele Satelitare pentru Mediu (NESDIS) a redus costurile de gestionare a configura\u021biei Red Hat Enterprise Linux (RHEL) cu 35% trec\u00e2nd de la Puppet Enterprise la Ansible Tower.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/obrezaem-niti-perehod-s-puppet-enterprise-na-ansible-tower-chast-1","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u0431\u0440\u0435\u0437\u0430\u0435\u043c \u043d\u0438\u0442\u0438: \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u0441 Puppet Enterprise \u043d\u0430 Ansible Tower. \u0427\u0430\u0441\u0442\u044c 1 | ProHoster","og:description":"\u041d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u043b\u0443\u0436\u0431\u0430 \u0441\u043f\u0443\u0442\u043d\u0438\u043a\u043e\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431 \u043e\u043a\u0440\u0443\u0436\u0430\u044e\u0449\u0435\u0439 \u0441\u0440\u0435\u0434\u0435 (NESDIS) \u043d\u0430 35% \u0441\u043d\u0438\u0437\u0438\u043b\u0430 \u0441\u0432\u043e\u0438 \u0437\u0430\u0442\u0440\u0430\u0442\u044b \u043d\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 Red Hat Enterprise Linux (RHEL), \u043f\u0435\u0440\u0435\u0439\u0434\u044f \u0441 Puppet Enterprise \u043d\u0430 Ansible Tower.","og:url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/obrezaem-niti-perehod-s-puppet-enterprise-na-ansible-tower-chast-1","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-05-06T11:42:24+00:00","article:modified_time":"2020-05-06T11:42:24+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"80491","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 16:17:31","updated":"2022-09-28 07:21:37","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/80491","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=80491"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/80491\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/80492"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=80491"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=80491"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=80491"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}