Pagputol sa mga hilo: paglalin gikan sa Puppet Enterprise ngadto sa Ansible Tower. Bahin 1

Ang National Environmental Satellite Data Information Service (NESDIS) nagpamenos sa gasto sa pagdumala sa configuration alang sa Red Hat Enterprise Linux (RHEL) sa 35% pinaagi sa paglalin gikan sa Puppet Enterprise ngadto sa Ansible Tower. Niining video nga "giunsa namo pagbuhat niini", gipatin-aw sa engineer sa sistema nga si Michael Rau ang kaso alang niini nga paglalin, nagpaambit sa mapuslanong mga tip ug mga leksyon nga nakat-unan gikan sa pagbalhin gikan sa usa ka SCM ngadto sa lain.

Gikan niini nga video makakat-on ka:

  • unsaon pagtinarong sa pagdumala ang posibilidad sa pagbalhin gikan sa Puppet Enterprise ngadto sa Ansible Tower;
  • unsa nga mga estratehiya ang gamiton aron mahimo ang transisyon nga hapsay kutob sa mahimo;
  • tips para sa transcoding PE manifests ngadto sa Ansible Playbook;
  • Mga rekomendasyon alang sa labing maayo nga pag-instalar sa Ansible Tower.

Pagputol sa mga hilo: paglalin gikan sa Puppet Enterprise ngadto sa Ansible Tower. Bahin 1

Kumusta sa tanan, ang akong ngalan mao si Michael Rau, ako usa ka Senior Systems Engineer sa ActioNet, nga nagtrabaho alang sa serbisyo sa National Oceanic and Atmospheric Administration (NOAA) NESDIS. Karon atong hisgutan ang bahin sa pagputol sa mga pisi - ang akong kaugalingon nga kasinatian sa paglalin gikan sa Puppet Enterprise ngadto sa Ansible Tower. Ang tema niini nga presentasyon mao ang "tan-awa ang akong mga pilas" nga nahabilin pagkahuman nako kini nga pagbalhin sa sayo pa sa tuig. Gusto nakong ipaambit ang akong nakat-unan pinaagi niini nga proseso. Mao nga kung buhaton nimo ang usa ka butang nga sama niini, gamit ang akong kasinatian, mahimo nimo ang pagbalhin nga wala’y dugang nga trabaho.

Makita nimo ang mga slide nga susama niini sa sinugdanan sa matag presentasyon sa Ansible Fest. Kini nga slide naglatid sa kasaysayan sa automation sa akong kompanya. Dili ko bag-o niini tungod kay naggamit ako og Puppet/Puppet Enterprise sukad pa niadtong 2007. Nagsugod ako sa pagtrabaho kauban ang Ansible kaniadtong 2016, ug sama sa daghang uban pang mga tiggamit niini nga produkto, nadani ako sa posibilidad sa "mga limbong" gamit ang command line ug yano nga mga script (playbooks). Sa katapusan sa 2017, akong giduol ang akong management bahin sa lig-on nga mga rason sa pagbalhin sa Ansible Tower. Sa usa ka minuto isulti ko kanimo ang bahin sa mga hinungdan nga nag-aghat kanako sa paghimo niini nga lakang. Human makadawat sa pagtugot sa management, milungtad pa og pipila ka bulan aron makompleto ang plano, ug gihimo nako ang transisyon niadtong Enero-Pebrero niining tuiga. Mao nga, hingpit namong gibiyaan ang Puppet pabor sa Ansible, ug kini usa ka maayo nga butang.

Pagputol sa mga hilo: paglalin gikan sa Puppet Enterprise ngadto sa Ansible Tower. Bahin 1

Ang labing nakapadani kanako bahin sa Ansible mao ang abilidad sa pagsulat ug paggamit sa mga tahas ug playbook. Ang mga tahas maayo alang sa paghimo og lahi apan may kalabutan nga mga buluhaton ug pagbutang sa tanan nga datos nga may kalabutan sa mga buluhaton sa usa ka lugar. Ang playbook usa ka YAML syntax, script file nga naghulagway sa mga aksyon para sa usa o daghan pang host. Gisultihan nako ang mga tiggamit bahin sa kini nga mga bahin, labi na ang mga developer sa software. Ang Ansible Tower naghatag kanimo og abilidad sa pag-ingon, "dili, wala kay shell access, apan gihatagan ko ikaw sa abilidad sa pagpadagan sa tanang proseso sa Tower ug i-restart ang serbisyo kung gikinahanglan nimo kini." Isulti ko kanimo ang bahin sa palibot sa trabahoan ug ang kagamitan nga among gigamit.

Pagputol sa mga hilo: paglalin gikan sa Puppet Enterprise ngadto sa Ansible Tower. Bahin 1

Kini usa ka federal LAN, 7 ka pisikal nga mga site nga konektado pinaagi sa cloud MPLS, 140 RHEL server, 99% niini virtual (vSphere), SuperMicro hardware, NexentaStore network storage, usa ka set sa Cisco, Arista ug Cumulus switch ug Fortinet UTM unified threat management mga himan sa matag site.

Ang pederal nga network nagpasabot nga kinahanglan nakong gamiton ang tanang mga lakang sa seguridad sa impormasyon nga gihatag sa balaod. Kinahanglan nimong hinumdoman nga ang Puppet Enterprise wala nagsuporta sa kadaghanan sa hardware nga among gigamit. Napugos kami sa paggamit sa hardware sa badyet tungod kay ang mga ahensya sa gobyerno adunay mga problema sa pagpinansya niini nga gasto. Mao nga gipalit namon ang SuperMicro hardware ug gi-assemble ang among mga ekipo gikan sa indibidwal nga mga bahin, ang pagmentinar niini gigarantiyahan sa mga kontrata sa gobyerno. Gigamit namon ang Linux ug kini usa sa hinungdanon nga hinungdan sa pagbalhin sa Ansible.

Ang atong kasaysayan sa Puppet mao ang mosunod.

Pagputol sa mga hilo: paglalin gikan sa Puppet Enterprise ngadto sa Ansible Tower. Bahin 1

Sa 2007, kami adunay usa ka gamay nga network sa 20-25 nga mga node, diin among gipakatap ang Puppet. Sa panguna, kini nga mga node mga "kahon" lamang sa RedHat. Sa 2010, nagsugod kami sa paggamit sa Puppet Dashboard web interface alang sa 45 ka mga node. Samtang nagpadayon ang pagpalapad sa network, mibalhin kami sa PE 2014 sa 3.3, nga naghimo sa usa ka kompleto nga pagbalhin nga adunay usa ka dayag nga pagsulat pag-usab alang sa 75 nga mga node. Kini kinahanglan nga buhaton tungod kay ang Puppet ganahan nga usbon ang mga lagda sa dula, ug sa kini nga kaso hingpit nilang giusab ang pinulongan. Usa ka tuig ang milabay, sa dihang ang suporta alang sa bersyon 3 sa Puppet Enterprise natapos, napugos kami sa paglalin ngadto sa PE 2015.2. Kinahanglan namong isulat pag-usab ang manifest para sa bag-ong mga server ug mopalit ug lisensya nga adunay reserba nga 100 ka node, bisan tuod niadtong panahona aduna lang kamiy 85 ka node.

2 ka tuig ra ang milabay, ug kinahanglan na usab namon nga buhaton ang daghang trabaho aron mobalhin sa bag-ong bersyon nga PE 2016.4. Nagpalit kami og lisensya alang sa 300 ka mga node, nga adunay 130 lamang. Kinahanglan na usab namo nga maghimog dagkong kausaban sa manifest tungod kay ang bag-ong bersyon sa pinulongan adunay lahi nga syntax kay sa pinulongan sa 2015 nga bersyon. Ingon nga resulta, ang among SCM mibalhin gikan sa SVN version control ngadto sa Bitbucket (Git). Kini ang among "relasyon" sa Puppet.

Mao nga, kinahanglan nako nga ipasabut sa pagdumala kung ngano nga kinahanglan namon nga mobalhin sa usa ka lahi nga SCM gamit ang mosunod nga mga argumento. Ang una mao ang taas nga presyo sa serbisyo. Nakigsulti ako sa mga lalaki sa RedHat ug giingon nila nga ang gasto sa pagpadagan sa usa ka 300 node network nga adunay Ansible Tower katunga sa gasto sa Puppet Enterprise. Kung mopalit ka usab sa Ansible Engine, ang gasto parehas ra, apan makakuha ka daghang daghang mga bahin kaysa PE. Tungod kay kami usa ka kompanya nga gipanag-iya sa estado nga gipondohan gikan sa federal nga badyet, kini usa ka kusgan nga argumento.

Pagputol sa mga hilo: paglalin gikan sa Puppet Enterprise ngadto sa Ansible Tower. Bahin 1

Ang ikaduha nga argumento mao ang versatility. Ang Puppet nagsuporta lamang sa hardware nga adunay ahente sa Puppet. Kini nagpasabut nga ang usa ka ahente kinahanglan nga ma-install sa tanan nga mga switch, ug kini kinahanglan nga labing bag-o nga bersyon. Ug kung ang pipila sa imong mga switch nagsuporta sa usa ka bersyon, ug ang uban nagsuporta sa lain, kinahanglan nimo nga i-install ang usa ka bag-ong bersyon sa ahente sa PE sa kanila aron silang tanan magamit sa parehas nga sistema sa SCM.

Ang sistema sa Ansible Tower lahi ang pagtrabaho tungod kay wala kini mga ahente, apan kini adunay mga module nga nagsuporta sa mga switch sa Cisco ug tanan nga ubang mga switch. Kini nga SCM nagsuporta sa Qubes OS, Linux ug 4.NET UTM. Ang Ansible Tower nagsuporta usab sa NexentaStore network storage controllers base sa Illumos kernel, usa ka open-source nga Unix-based operating system. Gamay ra kini nga suporta, apan ang Ansible Tower naghimo gihapon niini.

Ang ikatulo nga argumento, nga hinungdanon kaayo alang kanako ug sa among administrasyon, mao ang kadali sa paggamit. Migugol ko og 10 ka tuig sa pag-master sa mga module sa Puppet ug manifest code, apan nakakat-on ko sa Ansible sulod sa usa ka semana tungod kay kini nga SCM mas sayon ​​​​gamiton. Kung nagpadagan ka sa mga executable nga mga file, siyempre, gawas kung buhaton nimo kini nga wala kinahanglana, nan ang mga intelihente ug responsive nga mga tigdumala magtrabaho uban kanila. Ang mga playbook nga nakabase sa YAML dali nga makat-on ug dali gamiton. Kadtong wala pa makadungog sa YAML kaniadto makabasa lang sa mga script ug dali nga masabtan kung giunsa kini molihok.

Sa tinuud, ang Puppet naghimo sa imong trabaho ingon usa ka developer nga labi ka lisud tungod kay kini gibase sa paggamit sa Puppet Master. Kini ra ang makina nga gitugotan nga makigkomunikar sa mga ahente sa Puppet. Kung nakahimo ka ug bisan unsang mga pagbag-o sa manifest ug gusto nimong sulayan ang imong code, kinahanglan nimo nga isulat pag-usab ang code para sa Puppet Master, kana mao, i-configure ang Puppet Master /etc/hosts file aron makonektar ang tanan nga kliyente ug magsugod sa serbisyo sa Puppet Server. Pagkahuman lamang niini mahimo nimong sulayan ang operasyon sa mga kagamitan sa network sa usa ka host. Kini usa ka medyo sakit nga pamaagi.
Ang tanan mas simple sa Ansible. Ang kinahanglan nimong buhaton mao ang paghimo og code alang sa usa ka makina nga makakomunikar pinaagi sa SSH sa host nga gisulayan. Kini mao ang mas sayon ​​sa pagtrabaho uban sa.

Ang sunod nga dako nga bentaha sa Ansible Tower mao ang abilidad sa paggamit sa imong kasamtangan nga sistema sa suporta ug pagpadayon sa imong kasamtangan nga hardware configuration. Gigamit sa kini nga SCM ang tanan nga magamit nga kasayuran bahin sa imong imprastraktura ug hardware, virtual machine, server, ug uban pa nga wala’y dugang nga mga lakang. Mahimo kining makigsulti sa imong mga server sa RH Satellite, kung aduna kay usa, ug maghatag kanimo og mga panagsama nga dili nimo makuha sa Puppet.

Ang laing importante nga butang mao ang detalyado nga pagkontrol. Nahibal-an nimo nga ang Puppet usa ka modular nga sistema, kini usa ka aplikasyon sa kliyente-server, mao nga kinahanglan nimo nga ipasabut ang naglungtad nga mga aspeto sa tanan nimo nga mga makina sa usa ka taas nga pagpakita. Sa kini nga kaso, ang kahimtang sa matag indibidwal nga elemento sa sistema kinahanglan nga sulayan matag tunga sa oras - kini ang default nga panahon. Ingon niini ang pagtrabaho sa Puppet.

Ang Tower nagluwas kanimo gikan niana. Makapadagan ka og lain-laing proseso sa lain-laing ekipo nga walay mga pagdili; makahimo ka og batakang trabaho, modagan sa ubang importanteng proseso, mag-set up og sistema sa seguridad, ug magtrabaho uban sa mga database. Mahimo nimo ang tanan nga lisud sa Puppet Enterprise. Mao nga, kung imong gi-configure kini sa usa ka host, magkinahanglan kini og panahon alang sa mga pagbag-o nga molihok sa nahabilin nga mga host. Sa Ansible, ang tanan nga mga pagbag-o adunay epekto sa parehas nga oras.

Sa katapusan, atong tan-awon ang security module. Ang Ansible Tower nag-implementar niini sa talagsaon nga paagi, nga adunay dako nga katukma ug pag-atiman. Mahimo nimong hatagan ang mga tiggamit og access sa piho nga mga serbisyo o sa piho nga mga host. Gibuhat nako kini sa akong mga empleyado nga naanad sa pagtrabaho sa Windows, nga gilimitahan ang ilang pag-access sa Linux shell. Gipaneguro nako nga sila adunay access sa Tower aron mahimo ra nila ang trabaho ug mapadagan lamang ang mga serbisyo nga adunay kalabotan sa kanila.

Pagputol sa mga hilo: paglalin gikan sa Puppet Enterprise ngadto sa Ansible Tower. Bahin 1

Atong tan-awon ang mga butang nga kinahanglan nimong buhaton sa sayo pa aron mapadali ang imong pagbalhin sa Ansible Tower. Una sa tanan, kinahanglan nimo nga andamon ang imong kagamitan. Kung ang pipila ka mga elemento sa imong imprastraktura wala pa sa database, kinahanglan nimo nga idugang kini didto. Adunay mga sistema nga wala magbag-o sa ilang mga kinaiya ug busa wala sa database sa Puppet, apan kung dili nimo kini idugang didto sa wala pa mobalhin sa Tower, mawad-an ka daghang mga bentaha. Kini mahimo nga usa ka "hugaw", pasiuna nga database, apan kinahanglan kini adunay kasayuran bahin sa tanan nga kagamitan nga naa kanimo. Busa, kinahanglan ka nga magsulat usa ka dinamikong script sa hardware nga awtomatiko nga magduso sa tanan nga mga pagbag-o sa imprastraktura sa database, unya mahibal-an sa Ansible kung unsang mga host ang kinahanglan naa sa bag-ong sistema. Dili nimo kinahanglan nga isulti kini nga SCM kung unsang mga host ang imong gidugang ug kung unsang mga host ang wala na, tungod kay awtomatiko kini nga nahibal-an ang tanan. Kon mas daghang datos ang anaa sa database, mas mapuslanon ug flexible ang Ansible. Naglihok kini ingon nga kini nagbasa lamang sa barcode sa status sa hardware gikan sa usa ka database.

Paggugol ug panahon nga mahimong pamilyar sa command line sa Ansible. Pagdalag pipila ka naandan nga mga sugo aron sulayan ang script sa hardware, pagsulat ug pagpadagan sa pipila ka yano apan mapuslanon nga mga script sa playbook, gamita ang mga template sa Jinja2 kung angay. Sulayi pagsulat og papel ug script para sa usa ka komplikado, multi-step nga proseso gamit ang usa ka komon, kasagarang masugatan nga hardware configuration. Pagdula niini nga mga butang, sulayi kung giunsa kini molihok. Niining paagiha mahibal-an nimo kung giunsa ang paggamit sa mga himan sa paghimo sa librarya nga gigamit sa Tower. Nakaingon na ko nga mga 3 ka bulan ang akong pag-andam sa transisyon. Sa akong hunahuna nga base sa akong kasinatian, mahimo nimo kini nga mas paspas. Ayaw isipa kini nga panahon nga nausik, tungod kay sa ulahi imong masinati ang tanan nga mga kaayohan sa trabaho nga nahimo.

Sunod, kinahanglan nimo nga magdesisyon kung unsa ang imong gipaabut gikan sa Ansible Tower, kung unsa gyud ang kinahanglan buhaton niini nga sistema alang kanimo.

Pagputol sa mga hilo: paglalin gikan sa Puppet Enterprise ngadto sa Ansible Tower. Bahin 1

Kinahanglan ba nimo nga i-deploy ang sistema sa hubo nga hardware, sa mga hubo nga virtual machine? O gusto ba nimong ipadayon ang orihinal nga mga kondisyon sa pag-operate ug mga setting sa naa na nga kagamitan? Kini usa ka hinungdanon kaayo nga aspeto alang sa mga publiko nga kompanya, mao nga kinahanglan nimo nga sigurado nga makahimo ka sa paglalin ug pag-deploy sa Ansible sa imong kasamtangan nga configuration. Ilha ang naandan nga mga proseso sa administratibo nga gusto nimong i-automate. Hibal-i kung kinahanglan nimo nga i-deploy ang piho nga mga aplikasyon ug serbisyo sa bag-ong sistema. Paghimo og lista kung unsa ang gusto nimong buhaton ug unahon kini.

Dayon sugdi ang pagsulat sa script code ug mga tahas nga makapahimo sa mga buluhaton nga imong giplanohan nga makompleto. Isagol kini sa Mga Proyekto, usa ka lohikal nga koleksyon sa mga may kalabotan nga playbook. Ang matag Proyekto mahisakop sa lahi nga Git repository o lain nga repository depende sa code manager nga imong gigamit. Mahimo nimong madumala ang mga script sa playbook ug mga direktoryo sa playbook pinaagi sa mano-mano nga pagbutang niini sa Project Base Path sa Tower server, o pinaagi sa pagbutang sa playbook sa bisan unsang source code management (SCM) nga sistema nga gisuportahan sa Tower, lakip ang Git, Subversion, Mercurial, ug Red Hat Mga panabut. Sulod sa usa ka Proyekto mahimo nimong ibutang ang daghang mga script nga gusto nimo. Pananglitan, naghimo ko og usa ka batakang Proyekto diin akong gibutang ang usa ka script para sa mga elemento sa RedHat core, usa ka script alang sa Linux core, ug mga script alang sa uban nga mga baseline. Busa, sa usa ka proyekto adunay lain-laing mga tahas ug mga senaryo nga gidumala gikan sa usa ka Git repository.

Ang pagpadagan niining tanan nga mga butang pinaagi sa command line usa ka maayong paagi sa pagsulay sa ilang pagpaandar. Kini mag-andam kanimo alang sa pag-instalar sa Tower.

Maghisgot kita og gamay mahitungod sa transcoding sa Puppet manifest, tungod kay naggugol ako og daghang panahon niini hangtud nga akong nahibal-an kung unsa ang kinahanglan nga buhaton.

Pagputol sa mga hilo: paglalin gikan sa Puppet Enterprise ngadto sa Ansible Tower. Bahin 1

Sama sa akong giingon kaniadto, ang Puppet nagtipig sa tanan nga mga setting ug mga kapilian sa hardware sa usa ka taas nga pagpakita, ug kini nga manifest nagtipig sa tanan nga kinahanglan buhaton sa kini nga SCM. Kung maghimo sa transisyon, dili nimo kinahanglan nga i-cram ang tanan nimo nga mga buluhaton sa usa ka lista; hinoon, hunahunaa ang istruktura sa bag-ong sistema: mga tahas, script, tag, grupo ug kung unsa ang kinahanglan moadto. Ang pipila sa mga autonomous nga elemento sa network kinahanglan igrupo sa mga grupo diin mahimo ang mga script. Ang mas komplikado nga mga elemento sa imprastraktura nga naglakip sa daghang gidaghanon sa mga kahinguhaan, lakip ang mga klase nga adunay kaugalingon, mahimong mahiusa sa mga tahas. Sa dili pa molalin, kinahanglan ka nga magdesisyon bahin niini. Kung naghimo ka ug dagkong mga tahas o mga senaryo nga dili mohaum sa usa ka screen, kinahanglan nimong gamiton ang mga tag aron makuha ang piho nga mga bahin sa imprastraktura.

18:00

Pagputol sa mga hilo: paglalin gikan sa Puppet Enterprise ngadto sa Ansible Tower. Bahin 2

Pipila ka mga ad 🙂

Salamat sa pagpabilin kanamo. Ganahan ka ba sa among mga artikulo? Gusto nga makakita og mas makapaikag nga sulod? Suportahi kami pinaagi sa pag-order o pagrekomenda sa mga higala, cloud VPS alang sa mga developers gikan sa $4.99, usa ka talagsaon nga analogue sa mga entry-level server, nga giimbento namo alang kanimo: Ang tibuok kamatuoran bahin sa VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps gikan sa $19 o unsaon pagpaambit sa usa ka server? (anaa sa RAID1 ug RAID10, hangtod sa 24 ka mga core ug hangtod sa 40GB DDR4).

Dell R730xd 2 ka beses nga mas barato sa Equinix Tier IV data center sa Amsterdam? Dinhi lang 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV gikan sa $199 sa Netherlands! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - gikan sa $99! Basaha ang mahitungod sa Unsaon pagtukod sa infrastructure corp. klase sa paggamit sa Dell R730xd E5-2650 v4 server nga nagkantidad ug 9000 euros sa usa ka sentimos?

Source: www.habr.com

Idugang sa usa ka comment