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.