Ansible Tower / AWX / Automation controller Security
Taarifa Msingi
Ansible Tower au toleo lake la chanzo wazi AWX inajulikana pia kama kiolesura cha mtumiaji cha Ansible, dashibodi, na REST API. Kwa udhibiti wa upatikanaji kulingana na jukumu, ratiba ya kazi, na usimamizi wa hesabu ya picha, unaweza kusimamia miundombinu yako ya Ansible kutoka kwa UI ya kisasa. REST API ya Tower na kiolesura cha mstari wa amri hufanya iwe rahisi kuunganisha katika zana na mchakato wa sasa.
Automation Controller ni toleo jipya la Ansible Tower lenye uwezo zaidi.
Tofauti
Kulingana na hii, tofauti kuu kati ya Ansible Tower na AWX ni msaada uliopokelewa na Ansible Tower una vipengele vingine kama udhibiti wa upatikanaji kulingana na jukumu, msaada kwa APIs za desturi, na mifumo ya kazi iliyoundwa na mtumiaji.
Safu ya Teknolojia
Kiolesura cha Wavuti: Hii ni kiolesura cha picha ambapo watumiaji wanaweza kusimamia hesabu, vibali, templeti, na kazi. Imeundwa kuwa ya kueleweka na hutoa visualizations kusaidia katika kuelewa hali na matokeo ya kazi zako za otomatiki.
REST API: Kila kitu unachoweza kufanya kwenye kiolesura cha wavuti, unaweza pia kufanya kupitia REST API. Hii inamaanisha unaweza kuunganisha AWX/Tower na mifumo mingine au hatua za skripti ambazo kawaida ungefanya kwenye kiolesura.
Database: AWX/Tower hutumia database (kawaida PostgreSQL) kuhifadhi usanidi wake, matokeo ya kazi, na data muhimu ya uendeshaji.
RabbitMQ: Hii ni mfumo wa ujumbe unaotumiwa na AWX/Tower kwa mawasiliano kati ya sehemu tofauti, hasa kati ya huduma ya wavuti na wakimbiaji wa kazi.
Redis: Redis hutumika kama cache na nyuma ya foleni ya kazi.
Vipengele vya Mantiki
Hesabu: Hesabu ni mkusanyiko wa wenyeji (au nodi) dhidi ya ambayo kazi (playbooks za Ansible) zinaweza kutekelezwa. AWX/Tower inakuruhusu kufafanua na kundi hesabu zako na pia inasaidia hesabu za kudumu ambazo zinaweza kupata orodha ya wenyeji kutoka kwa mifumo mingine kama AWS, Azure, n.k.
Miradi: Mradi ni kimsingi mkusanyiko wa playbooks za Ansible zilizopatikana kutoka kwa mfumo wa kudhibiti toleo (kama Git) ili kuvuta playbooks za hivi karibuni wakati unahitajika.
Templati: Templeti za kazi hufafanua jinsi playbook fulani itatekelezwa, ikispecifika hesabu, vibali, na vigezo vingine vya kazi.
Vibali: AWX/Tower hutoa njia salama ya kusimamia na kuhifadhi siri, kama vile funguo za SSH, nywila, na vibali vya API. Vibali hivi vinaweza kuunganishwa na templeti za kazi ili playbooks ziwe na ufikivu unaohitajika wanapotumika.
Injini ya Kazi: Hapa ndipo uchawi unapotokea. Injini ya kazi imejengwa kwenye Ansible na inahusika na kutekeleza playbooks. Kazi zinapelekwa kwa injini ya kazi, ambayo kisha inatekeleza playbooks za Ansible dhidi ya hesabu iliyotengwa kwa kutumia vibali vilivyotolewa.
Wapangaji na Kurejelea: Hizi ni vipengele vya juu katika AWX/Tower ambavyo huruhusu kazi kupangwa kutekelezwa wakati maalum au kusababishwa na matukio ya nje.
Arifa: AWX/Tower inaweza kutuma arifa kulingana na mafanikio au kushindwa kwa kazi. Inasaidia njia mbalimbali za arifa kama vile barua pepe, ujumbe wa Slack, webhooks, n.k.
Playbooks za Ansible: Playbooks za Ansible ni zana za usanidi, kupeleka, na usimamizi. Hufafanua hali inayotakiwa ya mifumo kwa njia iliyoorodheshwa, inayoweza kufanywa upya kiotomatiki. Iliyoandikwa kwa YAML, playbooks hutumia lugha ya utendaji ya Ansible kufafanua usanidi, kazi, na hatua zinazohitaji kutekelezwa.
Mchakato wa Kutekeleza Kazi
Mwingiliano wa Mtumiaji: Mtumiaji anaweza kuingiliana na AWX/Tower kupitia Kiolesura cha Wavuti au REST API. Hizi hutoa ufikiaji wa mbele wa kila utendaji unaojumuishwa na AWX/Tower.
Kuanzisha Kazi:
Mtumiaji, kupitia Kiolesura cha Wavuti au API, anaanzisha kazi kulingana na Templati ya Kazi.
Templeti ya Kazi inajumuisha marejeo kwa Hesabu, Mradi (unaoplaybook), na Vibali.
Baada ya kuanzisha kazi, ombi hutumwa kwa nyuma ya AWX/Tower kuweka kazi kwenye foleni ya utekelezaji.
Kupanga Kazi:
RabbitMQ inashughulikia ujumbe kati ya sehemu ya wavuti na wakimbiaji wa kazi. Mara kazi inapoanzishwa, ujumbe unatumwa kwa injini ya kazi kutumia RabbitMQ.
Redis hufanya kama nyuma ya foleni ya kazi, ikisimamia kazi zilizowekwa kusubiri utekelezaji.
Kutekeleza Kazi:
Injini ya Kazi inachukua kazi iliyowekwa kwenye foleni. Inapata habari muhimu kutoka kwa Database kuhusu playbook inayohusishwa na kazi, hesabu, na vibali.
Kutumia playbook ya Ansible iliyopatikana kutoka kwa Mradi uliohusishwa, Injini ya Kazi inatekeleza playbook dhidi ya wodi za Hesabu zilizotajwa kwa kutumia Vibali vilivyotolewa.
Wakati playbook inatekelezwa, matokeo yake (vifungu, ukweli, n.k.) yanakamatwa na kuhifadhiwa kwenye Database.
Matokeo ya Kazi:
Mara playbook inapomaliza kutekelezwa, matokeo (mafanikio, kushindwa, vifungu) huokolewa kwenye Database.
Watumiaji wanaweza kisha kuona matokeo kupitia Kiolesura cha Wavuti au kuyauliza kupitia REST API.
Kulingana na matokeo ya kazi, Arifa zinaweza kutumwa kuarifu watumiaji au mifumo ya nje kuhusu hali ya kazi. Arifa zinaweza kuwa barua pepe, ujumbe wa Slack, webhooks, n.k.
Unganisho na Mifumo ya Nje:
Hesabu inaweza kupatikana kwa njia ya kudumu kutoka kwa mifumo ya nje, ikiruhusu AWX/Tower kuvuta wenyeji kutoka vyanzo kama AWS, Azure, VMware, na zaidi.
Miradi (playbooks) yanaweza kupatikana kutoka kwa mifumo ya kudhibiti toleo, ikahakikisha matumizi ya playbooks ya hivi karibuni wakati wa utekelezaji wa kazi.
Wapangaji na Kurejelea wanaweza kutumika kuunganisha na mifumo au zana zingine, ikifanya AWX/Tower kurejea kwa vichocheo vya nje au kutekeleza kazi wakati uliopangwa mapema.
Uumbaji wa Maabara ya AWX kwa Jaribio
Kufuata nyaraka inawezekana kutumia docker-compose kutekeleza AWX:
RBAC
Majukumu Yaliyosaidiwa
Jukumu lenye mamlaka zaidi huitwa Mfumo wa Msimamizi. Mtu yeyote mwenye jukumu hili anaweza kurekebisha chochote.
Kutoka kwenye ukaguzi wa usalama wa sanduku jeupe, utahitaji jukumu la Mthibitishaji wa Mfumo, ambalo huruhusu kuona data yote ya mfumo lakini hawezi kufanya mabadiliko yoyote. Chaguo lingine lingekuwa kupata jukumu la Mthibitishaji wa Shirika, lakini ingekuwa bora kupata lingine.
Last updated