Kukata nyuzi: kuhama kutoka Puppet Enterprise hadi Ansible Tower. Sehemu 1

Huduma ya Kitaifa ya Taarifa za Data ya Satellite ya Mazingira (NESDIS) imepunguza gharama zake za usimamizi wa usanidi wa Red Hat Enterprise Linux (RHEL) kwa 35% kwa kuhama kutoka Puppet Enterprise hadi Ansible Tower. Katika video hii ya "jinsi tulivyofanya", mhandisi wa mifumo Michael Rau anaelezea kisa cha uhamaji huu, akishiriki vidokezo muhimu na mafunzo tuliyojifunza kutoka kwa SCM moja hadi nyingine.

Kutoka kwa video hii utajifunza:

  • jinsi ya kuhalalisha usimamizi uwezekano wa kubadili kutoka kwa Biashara ya Puppet hadi Ansible Tower;
  • ni mikakati gani ya kutumia kufanya mpito kuwa laini iwezekanavyo;
  • vidokezo vya kupitisha maonyesho ya PE kwenye Ansible Playbook;
  • Mapendekezo ya usakinishaji bora wa Ansible Tower.

Kukata nyuzi: kuhama kutoka Puppet Enterprise hadi Ansible Tower. Sehemu 1

Hamjambo nyote, jina langu ni Michael Rau, mimi ni Mhandisi Mwandamizi wa Mifumo katika ActioNet, ambayo hufanya kazi kwa huduma ya National Oceanic and Atmospheric Administration (NOAA) NESDIS. Leo tutazungumza kuhusu kukata kamba - uzoefu wangu mwenyewe wa kuhama kutoka Puppet Enterprise hadi Ansible Tower. Mada ya wasilisho hili ni "kuangalia makovu yangu" yaliyoachwa baada ya kufanya mabadiliko haya mapema mwakani. Ninataka kushiriki kile nilichojifunza kupitia mchakato huu. Kwa hivyo unapochukua kitu kama hiki, kwa kutumia uzoefu wangu, unaweza kufanya mpito bila kazi yoyote ya ziada.

Unaweza kuona slaidi zinazofanana na hii mwanzoni mwa kila wasilisho kwenye Ansible Fest. Slaidi hii inaangazia historia ya otomatiki ya kampuni yangu. Sina jipya kwa hili kwa sababu nimekuwa nikitumia Biashara ya Puppet/Puppet tangu 2007. Nilianza kufanya kazi na Ansible mnamo 2016, na kama watumiaji wengine wengi wa bidhaa hii, nilivutiwa na uwezekano wa "mbinu" kwa kutumia safu ya amri na maandishi rahisi (vitabu vya kucheza). Mwishoni mwa 2017, niliwasiliana na usimamizi wangu kuhusu sababu kuu za kuhamia Ansible Tower. Kwa dakika moja nitakuambia kuhusu sababu zilizonisukuma kuchukua hatua hii. Baada ya kupokea kibali cha usimamizi, ilichukua miezi kadhaa zaidi kukamilisha mpango huo, na nilifanya mabadiliko Januari-Februari mwaka huu. Kwa hivyo, tuliachana kabisa na Puppet kwa niaba ya Ansible, na ni jambo kubwa.

Kukata nyuzi: kuhama kutoka Puppet Enterprise hadi Ansible Tower. Sehemu 1

Kinachonivutia zaidi kuhusu Ansible ni uwezo wa kuandika na kutumia majukumu na vitabu vya kucheza. Majukumu ni mazuri kwa kuunda kazi tofauti lakini zinazohusiana na kuweka data yote inayohusiana na kazi hizo katika sehemu moja. Kitabu cha kucheza ni sintaksia ya YAML, faili ya hati inayoelezea vitendo vya seva pangishi moja au zaidi. Ninawaambia watumiaji kuhusu vipengele hivi, hasa watengenezaji wa programu. Ansible Tower inakupa uwezo wa kusema, "hapana, huna ufikiaji wa shell, lakini ninakupa uwezo wa kuendesha michakato yote ya Tower na kuanzisha upya huduma unapoihitaji." Nitakuambia kuhusu mazingira ya kazi na vifaa tunavyotumia.

Kukata nyuzi: kuhama kutoka Puppet Enterprise hadi Ansible Tower. Sehemu 1

Hii ni LAN ya shirikisho, tovuti 7 halisi zilizounganishwa kupitia MPLS ya wingu, seva 140 za RHEL, 99% ambazo ni pepe (vSphere), vifaa vya SuperMicro, hifadhi ya mtandao ya NexentaStore, seti ya swichi za Cisco, Arista na Cumulus na usimamizi wa vitisho wa Fortinet UTM. zana kwenye kila tovuti.

Mtandao wa shirikisho unamaanisha kuwa lazima nitumie hatua zote za usalama wa habari zinazotolewa na sheria. Unapaswa kukumbuka kwamba Puppet Enterprise haitumii vifaa vingi tunavyotumia. Tunalazimika kutumia maunzi ya bajeti kwa sababu mashirika ya serikali yana matatizo ya kufadhili bidhaa hii ya gharama. Ndiyo sababu tununua vifaa vya SuperMicro na kukusanya vifaa vyetu kutoka kwa sehemu za kibinafsi, matengenezo ambayo yanahakikishiwa na mikataba ya serikali. Tunatumia Linux na hii ni mojawapo ya sababu muhimu za kubadili Ansible.

Historia yetu na Puppet ni kama ifuatavyo.

Kukata nyuzi: kuhama kutoka Puppet Enterprise hadi Ansible Tower. Sehemu 1

Mnamo 2007, tulikuwa na mtandao mdogo wa nodi 20-25, ambapo tulipeleka Puppet. Kimsingi, nodi hizi zilikuwa "sanduku" za RedHat tu. Mnamo 2010, tulianza kutumia kiolesura cha Dashibodi cha Puppet kwa nodi 45. Mtandao ulipoendelea kupanuka, tulihamia PE 2014 mwaka wa 3.3, na kufanya mabadiliko kamili kwa kuandika upya faili ya nodi 75. Hii ilibidi ifanyike kwa sababu Puppet anapenda kubadilisha sheria za mchezo, na katika kesi hii walibadilisha kabisa lugha. Mwaka mmoja baadaye, wakati utumiaji wa toleo la 3 la Biashara ya Puppet ulipokamilika, tulilazimika kuhamia PE 2015.2. Ilitubidi kuandika upya faili ya maelezo kwa seva mpya na kununua leseni yenye hifadhi ya nodi 100, ingawa wakati huo tulikuwa na nodi 85 pekee.

Miaka 2 tu imepita, na tulilazimika tena kufanya kazi nyingi kuhamia toleo jipya la PE 2016.4. Tulinunua leseni ya nodi 300, zikiwa na 130 pekee. Ilitubidi tena kufanya mabadiliko makubwa kwenye faili ya maelezo kwa sababu toleo jipya la lugha lilikuwa na sintaksia tofauti na lugha ya toleo la 2015. Kama matokeo, SCM yetu ilibadilisha kutoka kwa udhibiti wa toleo la SVN hadi Bitbucket (Git). Huu ulikuwa "uhusiano" wetu na Puppet.

Kwa hiyo, ilibidi nielezee menejimenti kwa nini tulihitaji kuhamia SCM tofauti kwa kutumia hoja zifuatazo. Ya kwanza ni bei ya juu ya huduma. Nilizungumza na wavulana huko RedHat na walisema kwamba gharama ya kuendesha mtandao wa nodi 300 na Ansible Tower ni nusu ya gharama ya Puppet Enterprise. Ukinunua pia Ansible Engine, gharama itakuwa sawa, lakini utapata vipengele vingi zaidi ya PE. Kwa kuwa sisi ni kampuni inayomilikiwa na serikali inayofadhiliwa na bajeti ya shirikisho, hii ni hoja yenye nguvu sana.

Kukata nyuzi: kuhama kutoka Puppet Enterprise hadi Ansible Tower. Sehemu 1

Hoja ya pili ni uchangamano. Puppet inaauni maunzi ambayo yana wakala wa Puppet pekee. Hii ina maana kwamba wakala lazima asakinishwe kwenye swichi zote, na lazima liwe toleo jipya zaidi. Na ikiwa baadhi ya swichi zako zinaunga mkono toleo moja, na zingine zinaunga mkono toleo lingine, utahitaji kusakinisha toleo jipya la wakala wa PE juu yao ili zote zifanye kazi katika mfumo sawa wa SCM.

Mfumo wa Ansible Tower hufanya kazi tofauti kwa sababu hauna mawakala wowote, lakini una moduli zinazotumia swichi za Cisco na swichi zingine zote. SCM hii inasaidia Qubes OS, Linux na 4.NET UTM. Ansible Tower pia inasaidia vidhibiti vya hifadhi ya mtandao vya NexentaStore kulingana na kernel ya Illumos, mfumo wa uendeshaji wa Unix wa chanzo huria. Huu ni usaidizi mdogo sana, lakini Ansible Tower hufanya hivyo hata hivyo.

Hoja ya tatu, ambayo ni muhimu sana kwangu na kwa utawala wetu, ni urahisi wa matumizi. Nilitumia miaka 10 kusimamia moduli za Puppet na msimbo wa maelezo, lakini nilijifunza Ansible ndani ya wiki moja kwa sababu SCM hii ni rahisi zaidi kufanya kazi nayo. Ikiwa unaendesha faili zinazoweza kutekelezwa, bila shaka, isipokuwa utafanya hivyo bila ya lazima, basi washughulikiaji wenye akili na msikivu hufanya kazi nao. Vitabu vya kucheza vinavyotegemea YAML ni rahisi kujifunza na ni haraka kutumia. Wale ambao hawajawahi kusikia kuhusu YAML hapo awali wanaweza kusoma maandishi na kuelewa kwa urahisi jinsi inavyofanya kazi.

Kuwa mkweli, Puppet hufanya kazi yako kama msanidi kuwa ngumu zaidi kwa sababu inategemea kutumia Puppet Master. Ndiyo mashine pekee inayoruhusiwa kuwasiliana na mawakala wa Vikaragosi. Iwapo umefanya mabadiliko yoyote kwenye faili ya maelezo na unataka kujaribu msimbo wako, lazima uandike upya msimbo wa Mwalimu wa Puppet, yaani, usanidi faili ya Mwalimu wa Puppet /etc/hosts ili kuunganisha wateja wote na kuanzisha huduma ya Seva ya Puppet. Tu baada ya hii utaweza kupima uendeshaji wa vifaa vya mtandao kwenye mwenyeji mmoja. Huu ni utaratibu wa uchungu badala.
Kila kitu ni rahisi zaidi katika Ansible. Unachohitaji kufanya ni kutengeneza msimbo wa mashine ambayo inaweza kuwasiliana kupitia SSH na mwenyeji chini ya jaribio. Hii ni rahisi zaidi kufanya kazi nayo.

Faida kubwa inayofuata ya Ansible Tower ni uwezo wa kutumia mfumo wako wa usaidizi uliopo na kudumisha usanidi wako wa maunzi uliopo. SCM hii hutumia taarifa zote zinazopatikana kuhusu miundombinu na maunzi yako, mashine pepe, seva, n.k. bila hatua zozote za ziada. Inaweza kuzungumza na seva zako za Satelaiti ya RH, ikiwa unayo, na kukupa miunganisho ambayo hutawahi kupata na Puppet.

Jambo lingine muhimu ni udhibiti wa kina. Unajua kuwa Puppet ni mfumo wa moduli, ni programu-tumizi ya seva ya mteja, kwa hivyo ni lazima ubainishe vipengele vilivyopo vya mashine zako zote katika faili moja ya maelezo marefu. Katika kesi hiyo, hali ya kila kipengele cha mtu binafsi cha mfumo lazima ijaribiwe kila nusu saa - hii ni kipindi cha default. Hivi ndivyo Puppet inavyofanya kazi.

Mnara hukuokoa kutoka kwa hilo. Unaweza kuendesha michakato mbalimbali kwenye vifaa mbalimbali bila vikwazo; unaweza kufanya kazi za kimsingi, kuendesha michakato mingine muhimu, kusanidi mfumo wa usalama, na kufanya kazi na hifadhidata. Unaweza kufanya kila kitu ambacho ni ngumu katika Biashara ya Puppet. Kwa hivyo, ikiwa uliisanidi kwenye seva pangishi moja, itachukua muda kwa mabadiliko kutekelezwa kwa wapangishi waliosalia. Katika Ansible, mabadiliko yote yanatekelezwa kwa wakati mmoja.

Hatimaye, hebu tuangalie moduli ya usalama. Ansible Tower huitekeleza kwa njia ya kushangaza, kwa usahihi na uangalifu mkubwa. Unaweza kuwapa watumiaji idhini ya kufikia huduma mahususi au kwa wapangishi mahususi. Ninafanya hivi na wafanyikazi wangu ambao wamezoea kufanya kazi kwenye Windows, na kupunguza ufikiaji wao kwa ganda la Linux. Ninahakikisha kwamba wanapata Mnara ili wafanye kazi hiyo tu na kuendesha huduma zinazowahusu tu.

Kukata nyuzi: kuhama kutoka Puppet Enterprise hadi Ansible Tower. Sehemu 1

Hebu tuangalie mambo unayohitaji kufanya kabla ya wakati ili kufanya mabadiliko yako ya Ansible Tower kuwa rahisi. Kwanza kabisa, unahitaji kuandaa vifaa vyako. Ikiwa baadhi ya vipengele vya miundombinu yako tayari haviko kwenye hifadhidata, unahitaji kuviongeza hapo. Kuna mifumo ambayo haibadilishi sifa zao na kwa hivyo haiko kwenye hifadhidata ya Puppet, lakini ikiwa hautaziongeza hapo kabla ya kuhamia Mnara, utapoteza faida kadhaa. Hii inaweza kuwa "chafu", hifadhidata ya awali, lakini inapaswa kuwa na habari kuhusu vifaa vyote ulivyo navyo. Kwa hivyo, unapaswa kuandika hati ya maunzi yenye nguvu ambayo itasukuma kiotomatiki mabadiliko yote ya miundombinu kwenye hifadhidata, kisha Ansible itajua ni wapangishi gani wanapaswa kuwepo kwenye mfumo mpya. Hutahitaji kuiambia SCM hii ni wapangishi gani ulioongeza na wapangishi gani ambao hawapo tena, kwa sababu itajua haya yote kiotomatiki. Kadiri data inavyokuwa kwenye hifadhidata, ndivyo Ansible inavyofaa zaidi na inayoweza kunyumbulika. Inafanya kazi kana kwamba inasoma tu upau wa hali ya maunzi kutoka kwa hifadhidata.

Tumia muda kufahamu mstari wa amri katika Ansible. Tekeleza baadhi ya amri maalum ili kujaribu hati ya maunzi, kuandika na kuendesha hati rahisi lakini muhimu za kitabu cha kucheza, tumia violezo vya Jinja2 inapofaa. Jaribu kuandika jukumu na hati kwa mchakato mgumu, wa hatua nyingi kwa kutumia usanidi wa maunzi unaopatikana kwa kawaida. Cheza na vitu hivi, jaribu jinsi inavyofanya kazi. Kwa njia hii utajifunza jinsi ya kutumia zana za kuunda maktaba zinazotumiwa katika Mnara. Tayari nimesema kwamba ilinichukua takriban miezi 3 kujiandaa kwa mpito. Nadhani kulingana na uzoefu wangu, utaweza kufanya hivi haraka. Usifikirie wakati huu uliopotea, kwa sababu baadaye utapata faida zote za kazi iliyofanywa.

Ifuatayo, unahitaji kuamua unachotarajia kutoka kwa Ansible Tower, ni nini hasa mfumo huu unapaswa kukufanyia.

Kukata nyuzi: kuhama kutoka Puppet Enterprise hadi Ansible Tower. Sehemu 1

Je! unahitaji kupeleka mfumo kwenye vifaa vilivyo wazi, kwenye mashine zisizo wazi? Au unataka kudumisha hali ya awali ya uendeshaji na mipangilio ya vifaa vilivyopo? Hiki ni kipengele muhimu sana kwa makampuni ya umma, kwa hivyo unahitaji kuwa na uhakika kwamba utaweza kuhama na kupeleka Ansible kwenye usanidi wako uliopo. Tambua michakato ya kawaida ya usimamizi ambayo ungependa kugeuza kiotomatiki. Jua ikiwa unahitaji kupeleka programu na huduma maalum kwenye mfumo mpya. Tengeneza orodha ya kile unachotaka kufanya na uweke kipaumbele.

Kisha anza kuandika msimbo wa hati na majukumu ambayo yatawezesha kazi unazopanga kukamilisha. Ziunganishe katika Miradi, mkusanyiko wa kimantiki wa vitabu vya kucheza vinavyofaa. Kila Mradi utakuwa wa hazina tofauti ya Git au hazina tofauti kulingana na kidhibiti cha msimbo unachotumia. Unaweza kudhibiti hati za vitabu vya michezo na saraka za vitabu vya kucheza kwa kuziweka wewe mwenyewe katika Njia ya Msingi ya Mradi kwenye seva ya Mnara, au kwa kuweka kitabu cha kucheza katika mfumo wowote wa usimamizi wa msimbo wa chanzo (SCM) unaotumika na Tower, ikiwa ni pamoja na Git, Subversion, Mercurial na Red Hat. Maarifa. Ndani ya Mradi mmoja unaweza kuweka hati nyingi unavyotaka. Kwa mfano, niliunda Mradi mmoja wa kimsingi ambapo niliweka hati ya vipengee vya msingi vya RedHat, hati ya msingi wa Linux, na hati za misingi iliyosalia. Kwa hivyo, katika mradi mmoja kulikuwa na anuwai ya majukumu na hali ambazo zilisimamiwa kutoka kwa hazina moja ya Git.

Kuendesha vitu hivi vyote kupitia safu ya amri ni njia nzuri ya kujaribu utendakazi wao. Hii itakutayarisha kwa usanidi wa Mnara.

Wacha tuzungumze kidogo juu ya kupitisha dhihirisho la Puppet, kwa sababu nilitumia muda mwingi kwenye hili hadi nilipofikiria ni nini hasa kilihitaji kufanywa.

Kukata nyuzi: kuhama kutoka Puppet Enterprise hadi Ansible Tower. Sehemu 1

Kama nilivyosema hapo awali, Puppet huhifadhi mipangilio na chaguo zote za maunzi katika faili moja ya maelezo marefu, na faili hii ya maelezo huhifadhi kila kitu ambacho SCM hii inapaswa kufanya. Wakati wa kufanya mabadiliko, hauitaji kuweka kazi zako zote kwenye orodha moja; badala yake, fikiria juu ya muundo wa mfumo mpya: majukumu, hati, lebo, vikundi na kile kinachopaswa kwenda huko. Baadhi ya vipengee vya mtandao wa uhuru vinapaswa kuunganishwa katika vikundi ambavyo hati zinaweza kuunda. Vipengele ngumu zaidi vya miundombinu vinavyohusisha idadi kubwa ya rasilimali, ikiwa ni pamoja na madarasa ya kujitegemea, yanaweza kuunganishwa katika majukumu. Kabla ya kuhama, unahitaji kuamua juu ya hili. Ikiwa unaunda majukumu makubwa au matukio ambayo hayalingani kwenye skrini moja, unapaswa kutumia lebo ili kuweza kunasa sehemu mahususi za miundombinu.

18:00

Kukata nyuzi: kuhama kutoka Puppet Enterprise hadi Ansible Tower. Sehemu 2

Baadhi ya matangazo πŸ™‚

Asante kwa kukaa nasi. Je, unapenda makala zetu? Je, ungependa kuona maudhui ya kuvutia zaidi? Tuunge mkono kwa kuweka agizo au kupendekeza kwa marafiki, VPS ya wingu kwa watengenezaji kutoka $4.99, analogi ya kipekee ya seva za kiwango cha kuingia, ambayo ilivumbuliwa na sisi kwa ajili yako: Ukweli wote kuhusu VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps kutoka $19 au jinsi ya kushiriki seva? (inapatikana kwa RAID1 na RAID10, hadi cores 24 na hadi 40GB DDR4).

Dell R730xd 2x nafuu katika kituo cha data cha Equinix Tier IV huko Amsterdam? Hapa tu 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV kutoka $199 nchini Uholanzi! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - kutoka $99! Soma kuhusu Jinsi ya kujenga miundombinu ya Corp. darasa na matumizi ya seva za Dell R730xd E5-2650 v4 zenye thamani ya euro 9000 kwa senti?

Chanzo: mapenzi.com

Kuongeza maoni