Kako ustvariti in prenesti vloge na Ansible Galaxy in jih uporabiti - 9. del


V 9. delu posamezne datoteke playbook.

Vendar je pisanje knjig iger za upravljanje iste storitve v različnih okoljih lahko precej okorno in to običajno vodi do odvečnosti kode. Poleg tega lahko večja zapletenost oteži upravljanje vseh naprav.

V prihajajo vloge. V programu Ansible se vloge uporabljajo za razčlenitev knjig iger v datoteke za večkratno uporabo, ki jih je mogoče uporabiti v več drugih primerih, ko se pojavi potreba po izvedbi podobne naloge. To je odpravilo potrebo po ponovnem pisanju knjig iger in prihranilo veliko časa in energije.

Vloge so preprosto funkcionalnost knjižic iger. Vloga ima precej tega, kar bi predstavljalo knjigo iger: naloge, datoteke, moduli, spremenljivke in predloge. Upoštevajte tudi, da je vsaka vloga omejena na določeno nalogo ali želeni rezultat.

Ustvarjanje odgovorne vloge

Če želite ustvariti vlogo v programu Ansible, preprosto uporabite sintakso.

# ansible-galaxy init role_name 

V vašem trenutnem delovnem imeniku bo ustvarjenih več imenikov in datotek. V tem primeru sem se odločil ustvariti vlogo v imeniku/etc/ansible/role.

Ustvarimo vlogo, imenovano apache.

# ansible-galaxy init apache

Z ukazom drevo si oglejte strukturo imenikov vloge.

# tree apache

Kot lahko vidite, je bilo ustvarjenih več imenikov, vendar vsi ne bodo uporabljeni v knjigi iger.

Zdaj, če želite uporabiti novo ustvarjeno vlogo v knjigi predvajanja, določite nalogo v datoteki main.yml v imeniku opravil nove vloge.

/apache/tasks/main.yml

---

- hosts: database_servers

  tasks:

    - name: Install Apache2 on Ubuntu webserver
      apt:
         name: apache2
         state: installed

Nato ustvarite datoteko playbook in pokličite vlogo, kot je prikazano.

--- 
- hosts: webservers
  roles:
   - apache

Namestitev vloge iz Ansible Galaxy

Vloge igrajo ključno vlogo pri izmenjavi kode z drugimi uporabniki v skupnosti Ansible s pomočjo platforme Ansible Galaxy. V Ansible Galaxy dobite na tisoče vlog, ki opravljajo različne naloge, kot so namestitev spletnih strežnikov in baz podatkov, orodja za nadzor itd.

Ansible Galaxy je baza podatkov ali shramba vlog Ansible, ki jih lahko izkoristite v svojih igranih knjigah in pomagate racionalizirati svoje naloge.

Če želite iskati vlogo v Ansible Galaxy, preprosto zaženite ukaz.

# ansible-galaxy search <role>

Na primer za iskanje vloge z imenom mysql run.

# ansible-galaxy search mysql

Kot lahko vidite, obstaja na stotine vlog, ki se ujemajo z iskalno besedo mysql. Vse vloge pa ne bodo izvedle tistega, kar nameravate, zato je priporočljivo, da natančno preberete navodila.

Če želite zbrati več informacij o vlogi, preprosto zaženite ukaz Ansible:

# ansible-galaxy info 5KYDEV0P5.skydevops-mysql

V našem primeru bomo namestili vlogo 5KYDEV0P5.skydevops-mysql.

# ansible-galaxy install 5KYDEV0P5.skydevops-mysql

Vloga se prenese in ekstrahira v privzeti imenik vlog, ki se nahaja na/etc/ansible/role.

Vlogo lahko nato pokličete v knjigo iger, na primer:

---
- name: Install MySQL server
  hosts: webservers

 roles:
    • 5KYDEV0P5.skydevops-mysql

Zdaj lahko varno zaženete igro Ansible, kot je prikazano.

# ansible-playbook install_mysql.yml

Poleg tega lahko prek spletnega brskalnika obiščete Ansible Galaxy in ročno iščete vloge za izvajanje različnih nalog, kot je opisano na armaturni plošči.

Če želite na primer poiskati nadzorno vlogo, kot je elastično iskanje, kliknite možnost »Nadzor« in poiščite vlogo, kot je prikazano.

Ansible Galaxy uporabnikom olajša namestitev najboljših vlog z naštevanjem najbolj priljubljenih in najbolj prenesenih vlog. Če želite dobiti več informacij o določeni vlogi, jo preprosto kliknite.

V knjigi iger lahko na primer določite tudi več vlog.

---
- name: Install MySQL server
  hosts: webservers

 roles:
    • 5KYDEV0P5.skydevops-mysql
    • Aaronpederson.mariadb

Če želite navesti nameščene vloge, preprosto zaženite.

# ansible-galaxy list

Vloge olajšajo ponovno uporabo in skupno rabo knjig Ansible. Na ta način uporabniku prihranijo veliko časa, ko poskuša napisati veliko odvečne kode, in porabijo preveč časa, ki bi ga uporabili pri drugih sistemskih opravilih. In to je to za ta vodnik.