În Partea 9 de Ansible Series, veți învăța cum să creați și să descărcați roluri pe Galaxia Ansible și folosiți-le. Ansible este un instrument simplu, dar eficient de configurare și implementare automată, care automatizează fără probleme sarcinile complexe într-un mod eficient. Puteți gestiona sute sau chiar mii de servere dintr-un singur nod de control folosind un un singur fișier playbook.
Cu toate acestea, scrierea cărților de joc pentru gestionarea aceluiași serviciu în medii diferite poate fi destul de greoaie și acest lucru duce de obicei la redundanță de cod. În plus, o mai mare complexitate se poate adăuga la dificultatea de gestionare a tuturor dispozitivelor.
Intră roluri. În Ansible, rolurile sunt utilizate pentru descompunerea cărților de redare în fișiere reutilizabile care pot fi utilizate în alte câteva cazuri în care apare nevoia de a efectua o sarcină similară. Acest lucru a eliminat nevoia de rescriere a playbook-urilor repetate și economisește mult timp și energie.
Rolurile sunt pur și simplu funcționalități ale cărților de joc. Un rol este livrat cu destul de mult ceea ce ar constitui un playbook: Sarcini, fișiere, module, variabile și șabloane. De asemenea, rețineți că fiecare rol este limitat la o anumită sarcină sau la rezultatul dorit.
Pentru a crea un rol în Ansible, pur și simplu utilizați sintaxa.
# ansible-galaxy init role_name
În directorul dvs. de lucru curent vor fi create mai multe directoare și fișiere. În acest caz, am decis să creez un rol în /etc/ansible/roles director.
Să creăm un rol numit apache.
# ansible-galaxy init apache.
Folosește comanda arborelui pentru a arunca o privire asupra structurii de directoare a rolului.
# arbore apache.
După cum puteți vedea, au fost create mai multe directoare, cu toate acestea, nu toate vor fi utilizate în playbook.
Acum, pentru a utiliza rolul nou creat într-un manual, definiți o sarcină în main.yml fișier conținut în directorul de sarcini al noului dvs. rol.
/apache/tasks/main.yml - hosts: database_servers task: - nume: Instalați Apache2 pe serverul web Ubuntu apt: nume: apache2 stare: instalat.
Apoi, creați un fișier Playbook și apelați rolul așa cum se arată.
- gazde: roluri de webservers: - apache.
Roluri joacă un rol crucial în partajarea codului cu alți utilizatori din Ansible comunitate care utilizează Galaxia Ansible platformă. În Galaxia Ansible, obțineți mii de roluri care îndeplinesc diferite sarcini, cum ar fi instalarea de servere web și baze de date, instrumente de monitorizare, etc.
Galaxia Ansible este o bază de date sau un depozit de roluri Ansible pe care le puteți utiliza în cărțile de joc și vă ajută să vă simplificați sarcinile.
Pentru a căuta un rol în Galaxia Ansible, pur și simplu executați comanda.
# ansible-galaxy search
De exemplu pentru a căuta un rol numit mysql alerga.
# ansible-galaxy search mysql.
După cum puteți vedea, există sute de roluri care corespund cuvântului cheie de căutare mysql. Cu toate acestea, nu toate rolurile vor îndeplini ceea ce intenționați, de aceea este recomandat să citiți cu atenție instrucțiunile.
Pentru a aduna mai multe informații despre un rol, pur și simplu executați comanda Ansible:
# ansible-galaxy info 5KYDEV0P5.skydevops-mysql.
În exemplul nostru, vom instala rolul 5KYDEV0P5.skydevops-mysql.
# ansible-galaxy install 5KYDEV0P5.skydevops-mysql.
Rolul este descărcat și extras în directorul implicit al rolurilor aflat la /etc/ansible/roles.
Rolul poate fi numit ulterior într-un manual, de exemplu:
- nume: Instalați gazdele serverului MySQL: roluri de servere web: • 5KYDEV0P5.skydevops-mysql.
Acum puteți rula în siguranță manualul Ansible așa cum se arată.
# ansible-playbook install_mysql.yml.
În plus, puteți vizita Galaxia Ansible prin browserul dvs. web și căutați manual roluri pentru îndeplinirea diverselor sarcini, așa cum este subliniat de tabloul de bord.
De exemplu, pentru a căuta un rol de monitorizare precum elastic căutare, faceți clic pe „Monitorizarea'Și căutați rolul așa cum se arată.
Galaxia Ansible facilitează instalarea de către utilizatori a celor mai bune roluri prin listarea celor mai populare și cele mai descărcate roluri. Pentru a obține mai multe informații despre un anumit rol, trebuie doar să faceți clic pe acesta.
Într-un playbook, puteți specifica, de asemenea, mai multe roluri, de exemplu.
- nume: Instalați gazdele serverului MySQL: roluri de servere web: • 5KYDEV0P5.skydevops-mysql • Aaronpederson.mariadb.
Pentru a enumera rolurile instalate, pur și simplu rulați.
# ansible-galaxy list.
Roluri faceți destul de ușor reutilizarea și partajarea cărților de joc Ansible. În acest fel, economisesc mult un utilizator încercând să scrie o mulțime de cod redundant și petrec prea mult timp care ar fi fost folosit în alte sarcini de administrare a sistemului. Și asta este tot pentru acest ghid.