Kaip sukurti ir atsisiųsti vaidmenis Ansible Galaxy ir juos naudoti – 9 dalis


„Ansible“ serijos 9 dalyje sužinosite, kaip kurti ir atsisiųsti vaidmenis Ansible Galaxy ir juos naudoti. Ansible yra paprastas, bet efektyvus konfigūracijos valdymo ir automatinio diegimo įrankis, kuris sklandžiai ir efektyviai automatizuoja sudėtingas užduotis. Galite valdyti šimtus ar net tūkstančius serverių iš vieno valdymo mazgo, naudodami vieną žaidimo knygos failą.

Tačiau rašyti knygas, skirtas valdyti tą pačią paslaugą skirtingose aplinkose, gali būti gana sudėtinga, todėl dažniausiai atsiranda kodo perteklius. Be to, dėl didesnio sudėtingumo gali būti sunku valdyti visus įrenginius.

Ateina vaidmenys. Skiltyje Galimas vaidmenys naudojami žaidimų knygelėms suskaidyti į daugkartinio naudojimo failus, kuriuos galima naudoti keliais kitais atvejais, kai reikia atlikti panašią užduotį. Taip nebereikėjo perrašyti žaidimų knygelių ir sutaupoma daug laiko bei energijos.

Vaidmenys yra tiesiog žaidimų knygų funkcijos. Vaidmuo pateikiamas su tuo, kas sudarytų žaidimo knygą: užduotys, failai, moduliai, kintamieji ir šablonai. Taip pat atkreipkite dėmesį, kad kiekvienas vaidmuo apsiriboja tam tikra užduotimi arba norimu išėjimu.

Galimo vaidmens kūrimas

Norėdami sukurti vaidmenį Ansible, tiesiog naudokite sintaksę.

ansible-galaxy init role_name 

Dabartiniame darbo kataloge bus sukurti keli katalogai ir failai. Šiuo atveju nusprendžiau sukurti vaidmenį kataloge /etc/ansible/roles.

Sukurkime vaidmenį, pavadintą apache.

ansible-galaxy init apache

Norėdami pažvelgti į vaidmens katalogo struktūrą, naudokite medžio komandą.

tree apache

Kaip matote, buvo sukurta keletas katalogų, tačiau ne visi jie bus naudojami žaidimo knygoje.

Dabar, norėdami naudoti naujai sukurtą vaidmenį žaidimo knygoje, apibrėžkite užduotį main.yml faile, esančiame naujo vaidmens užduočių kataloge.

/apache/tasks/main.yml

---

- hosts: database_servers

  tasks:

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

Po to sukurkite žaidimo knygos failą ir paskambinkite vaidmeniui, kaip parodyta.

--- 
- hosts: webservers
  roles:
   - apache

Vaidmens diegimas iš Ansible Galaxy

Vaidmenys atlieka labai svarbų vaidmenį bendrinant kodą su kitais Ansible bendruomenės naudotojais naudojant Ansible Galaxy platformą. Naudodami Ansible Galaxy gaunate tūkstančius vaidmenų, atliekančių įvairias užduotis, pvz., žiniatinklio serverių ir duomenų bazių diegimą, stebėjimo įrankius ir kt.

Ansible Galaxy yra Ansible vaidmenų duomenų bazė arba saugykla, kurią galite panaudoti savo žaidimų knygelėse ir padėti supaprastinti užduotis.

Norėdami ieškoti vaidmens Ansible Galaxy, tiesiog paleiskite komandą.

ansible-galaxy search <role>

Pavyzdžiui, norėdami ieškoti vaidmens pavadinimu mysql paleisti.

ansible-galaxy search mysql

Kaip matote, yra šimtai vaidmenų, atitinkančių paieškos raktinį žodį mysql. Tačiau ne visi vaidmenys atliks tai, ką ketinate atlikti, todėl rekomenduojama atidžiai perskaityti instrukcijas.

Norėdami surinkti daugiau informacijos apie vaidmenį, tiesiog paleiskite komandą Ansible:

ansible-galaxy info 5KYDEV0P5.skydevops-mysql

Mūsų pavyzdyje ketiname įdiegti vaidmenį 5KYDEV0P5.skydevops-mysql.

ansible-galaxy install 5KYDEV0P5.skydevops-mysql

Vaidmuo atsisiunčiamas ir išskleidžiamas į numatytąjį vaidmenų katalogą, esantį adresu /etc/ansible/roles.

Po to vaidmuo gali būti vadinamas žaidimo knygoje, pavyzdžiui:

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

 roles:
    • 5KYDEV0P5.skydevops-mysql

Dabar galite saugiai paleisti Ansible žaidimų knygą, kaip parodyta.

ansible-playbook install_mysql.yml

Be to, galite apsilankyti Ansible Galaxy naudodami savo žiniatinklio naršyklę ir rankiniu būdu ieškoti vaidmenų, kad galėtumėte atlikti įvairias užduotis, nurodytas prietaisų skydelyje.

Pavyzdžiui, norėdami ieškoti stebėjimo vaidmens, pvz., elasticsearch, spustelėkite parinktį Stebėjimas ir ieškokite vaidmens, kaip parodyta.

Ansible Galaxy leidžia vartotojams lengviau įdiegti geriausius vaidmenis, nes pateikiami populiariausi ir dažniausiai atsisiųsta vaidmenys. Norėdami gauti daugiau informacijos apie konkretų vaidmenį, tiesiog spustelėkite jį.

Pavyzdžiui, žaidimų knygelėje taip pat galite nurodyti daugiau nei vieną vaidmenį.

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

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

Norėdami išvardyti įdiegtus vaidmenis, tiesiog paleiskite.

ansible-galaxy list

Išvada

Vaidmenys leidžia gana lengvai pakartotinai naudoti ir bendrinti Ansible žaidimų knygas. Taip jie sutaupo daug laiko, kai vartotojas bando parašyti daug perteklinio kodo ir praleidžia per daug laiko, kuris būtų sunaudotas atliekant kitas sistemos administravimo užduotis. Ir viskas šiam vadovui.