Jinsi ya Kuunda na Kupakua Majukumu kwenye Ansible Galaxy na Kuyatumia - Sehemu ya 9
Katika Sehemu ya 9 ya faili moja ya kitabu cha kucheza.
Walakini, kuandika vitabu vya kucheza kwa kudhibiti huduma sawa katika mazingira tofauti kunaweza kuwa ngumu sana na hii kawaida husababisha uondoaji wa nambari. Zaidi ya hayo, utata zaidi unaweza kuongeza ugumu katika kusimamia vifaa vyote.
Katika inakuja majukumu. Katika Ansible, majukumu hutumika kugawanya vitabu vya kucheza katika faili zinazoweza kutumika tena ambazo zinaweza kutumika katika matukio mengine kadhaa ambapo hitaji linatokea la kufanya kazi sawa. Hili liliondoa hitaji la kuandika upya vitabu vya kucheza tena na tena na huokoa muda na nguvu nyingi.
Majukumu ni utendakazi wa vitabu vya kucheza. Jukumu linasafirishwa na kile ambacho kinaweza kuunda kitabu cha kucheza: Majukumu, faili, moduli, vigeu na violezo. Pia, kumbuka kuwa kila jukumu ni mdogo kwa kazi fulani au matokeo ya taka.
Kuunda Jukumu Linalostahili
Ili kuunda jukumu katika Ansible, tumia tu syntax.
# ansible-galaxy init role_name
Saraka na faili nyingi zitaundwa katika saraka yako ya sasa ya kufanya kazi. Katika kesi hii, nimeamua kuunda jukumu katika saraka ya /etc/ansible/roles.
Wacha tuunda jukumu linaloitwa apache.
# ansible-galaxy init apache
Tumia amri ya mti ili kutazama muundo wa saraka ya jukumu.
# tree apache
Kama unaweza kuona, saraka kadhaa zimeundwa, hata hivyo, sio zote zitatumika kwenye kitabu cha kucheza.
Sasa, ili kutumia jukumu lako jipya katika kitabu cha kucheza, fafanua kazi katika faili kuu.yml iliyo katika saraka ya majukumu ya jukumu lako jipya.
/apache/tasks/main.yml --- - hosts: database_servers tasks: - name: Install Apache2 on Ubuntu webserver apt: name: apache2 state: installed
Baadaye, unda faili ya kitabu cha kucheza na upige jukumu kama inavyoonyeshwa.
--- - hosts: webservers roles: - apache
Kusakinisha Jukumu kutoka kwa Ansible Galaxy
Majukumu yana jukumu muhimu katika kushiriki msimbo na watumiaji wengine katika jumuiya ya Ansible kwa kutumia jukwaa la Ansible Galaxy. Katika Ansible Galaxy, unapata maelfu ya majukumu yanayotekeleza majukumu tofauti kama vile usakinishaji wa seva za wavuti na hifadhidata, zana za ufuatiliaji, n.k.
Ansible Galaxy ni hifadhidata au hazina ya majukumu Ansible ambayo unaweza kutumia katika vitabu vyako vya kucheza na kusaidia kurahisisha kazi zako.
Ili kutafuta jukumu katika Ansible Galaxy, endesha tu amri.
# ansible-galaxy search <role>
Kwa mfano kutafuta jukumu linaloitwa mysql run.
# ansible-galaxy search mysql
Kama unavyoona, kuna mamia ya majukumu yanayolingana na neno kuu la utaftaji mysql. Walakini, sio majukumu yote yatafanya kile unachokusudia, kwa hivyo inashauriwa kusoma maagizo kwa uangalifu.
Ili kukusanya habari zaidi juu ya jukumu, endesha tu Ansible amri:
# ansible-galaxy info 5KYDEV0P5.skydevops-mysql
Katika mfano wetu, tutaweka jukumu 5KYDEV0P5.skydevops-mysql.
# ansible-galaxy install 5KYDEV0P5.skydevops-mysql
Jukumu linapakuliwa na kutolewa kwenye saraka ya majukumu chaguomsingi iliyo kwenye /etc/ansible/roles.
Jukumu linaweza kuitwa baadaye kwenye kitabu cha kucheza, kwa mfano:
--- - name: Install MySQL server hosts: webservers roles: • 5KYDEV0P5.skydevops-mysql
Sasa unaweza kuendesha kitabu cha kucheza cha Ansible kwa usalama kama inavyoonyeshwa.
# ansible-playbook install_mysql.yml
Zaidi ya hayo, unaweza kutembelea Ansible Galaxy kupitia kivinjari chako cha wavuti na utafute mwenyewe majukumu ya kutekeleza kazi mbalimbali kama ilivyoainishwa na dashibodi.
Kwa mfano, ili kutafuta jukumu la ufuatiliaji kama vile elasticsearch, bofya chaguo la 'Kufuatilia' na utafute jukumu kama inavyoonyeshwa.
Ansible Galaxy hurahisisha watumiaji kusakinisha majukumu bora zaidi kwa kuorodhesha majukumu maarufu na yaliyopakuliwa zaidi. Ili kupata maelezo zaidi kuhusu jukumu maalum, bonyeza tu juu yake.
Katika kitabu cha kucheza, unaweza pia kutaja zaidi ya jukumu moja, kwa mfano.
--- - name: Install MySQL server hosts: webservers roles: • 5KYDEV0P5.skydevops-mysql • Aaronpederson.mariadb
Ili kuorodhesha majukumu yaliyosakinishwa, endesha tu.
# ansible-galaxy list
Majukumu hurahisisha kutumia tena na kushiriki vitabu vya kucheza vya Ansible. Kwa njia hii wanaokoa mtumiaji muda mwingi kujaribu kuandika nambari nyingi zisizohitajika na kutumia muda mwingi ambao ungetumika katika kazi zingine za usimamizi wa mfumo. Na hiyo ni kwa mwongozo huu.