Roolien luominen ja lataaminen mahdolliseen galaksiin ja niiden käyttö - osa 9
Yksittäisen pelikirjatiedoston osassa 9.
Toistokirjojen kirjoittaminen saman palvelun hallitsemiseksi eri ympäristöissä voi kuitenkin olla melko hankalaa, mikä yleensä johtaa koodin redundanssiin. Lisäksi monimutkaisuus voi lisätä vaikeutta hallita kaikkia laitteita.
Tulee roolit. Ryhmässä Ansible rooleja käytetään jakamaan toistokirjat uudelleenkäytettäviksi tiedostoiksi, joita voidaan käyttää useissa muissa tapauksissa, joissa on tarpeen suorittaa samanlainen tehtävä. Tämä eliminoi tarpeen kirjoittaa uudelleenkirjoituksia uudestaan ja uudestaan ja säästää paljon aikaa ja energiaa.
Roolit ovat yksinkertaisesti pelikirjojen toimintoja. Roolissa on melkein mitä pelikirjasta muodostuu: Tehtävät, tiedostot, moduulit, muuttujat ja mallit. Huomaa myös, että kukin rooli on rajoitettu tiettyyn tehtävään tai haluttuun tulokseen.
Ansible Roolin luominen
Luo rooli Ansible-sovelluksessa yksinkertaisesti syntaksin avulla.
# ansible-galaxy init role_name
Nykyiseen työhakemistoon luodaan useita hakemistoja ja tiedostoja. Tässä tapauksessa olen päättänyt luoda roolin hakemistoon/etc/ansible/roolit.
Luodaan apache-niminen rooli.
# ansible-galaxy init apache
Käytä puukomentoa vilkaistaksesi roolin hakemistorakennetta.
# tree apache
Kuten näette, useita hakemistoja on luotu, mutta kaikkia niitä ei käytetä pelikirjassa.
Jos haluat käyttää äskettäin luotua rooliasi pelikirjassa, määritä tehtävä uuden roolisi tehtävähakemistossa olevassa main.yml-tiedostossa.
/apache/tasks/main.yml --- - hosts: database_servers tasks: - name: Install Apache2 on Ubuntu webserver apt: name: apache2 state: installed
Luo sen jälkeen soittokirjatiedosto ja kutsu rooli kuvan mukaisesti.
--- - hosts: webservers roles: - apache
Roolin asentaminen Ansible Galaxy -sovelluksesta
Rooleilla on ratkaiseva rooli koodin jakamisessa muiden Ansible-käyttäjien kanssa, jotka käyttävät Ansible Galaxy -alustaa. Ansible Galaxy -sovelluksessa saat tuhansia rooleja, jotka suorittavat erilaisia tehtäviä, kuten verkkopalvelinten ja tietokantojen asennuksen, valvontatyökalut jne.
Ansible Galaxy on tietokanta tai arkisto Ansible-rooleista, joita voit hyödyntää soittokirjoissasi ja auttaa virtaviivaistamaan tehtäviäsi.
Jos haluat etsiä roolia Ansible Galaxy -sovelluksesta, suorita komento.
# ansible-galaxy search <role>
Esimerkiksi etsimään roolia nimeltä mysql run.
# ansible-galaxy search mysql
Kuten näette, on satoja rooleja, jotka vastaavat hakusanaa mysql. Kaikki roolit eivät kuitenkaan toimi aiotulla tavalla, joten on suositeltavaa lukea ohjeet huolellisesti.
Jos haluat kerätä lisätietoja roolista, suorita Ansible-komento:
# ansible-galaxy info 5KYDEV0P5.skydevops-mysql
Esimerkissämme aiomme asentaa roolin 5KYDEV0P5.skydevops-mysql.
# ansible-galaxy install 5KYDEV0P5.skydevops-mysql
Rooli ladataan ja puretaan oletusroolihakemistoon, joka sijaitsee/etc/ansible/roolit.
Roolia voidaan sen jälkeen kutsua näytelmäkirjaan, esimerkiksi:
--- - name: Install MySQL server hosts: webservers roles: • 5KYDEV0P5.skydevops-mysql
Nyt voit käyttää Ansible-pelikirjaa turvallisesti kuvan osoittamalla tavalla.
# ansible-playbook install_mysql.yml
Lisäksi voit käydä Ansible Galaxy -sovelluksessa verkkoselaimesi kautta ja etsiä manuaalisesti rooleja eri tehtävien suorittamiseksi kojelaudan hahmottelemalla.
Voit esimerkiksi etsiä valvontaroolia, kuten elasticsearch, napsauttamalla Seuranta-vaihtoehtoa ja etsimällä roolia kuvan osoittamalla tavalla.
Ansible Galaxy helpottaa käyttäjien asentaa parhaat roolit luetteloimalla suosituimmat ja ladatuimmat roolit. Saat lisätietoja tietystä roolista napsauttamalla sitä.
Pelikirjassa voit määrittää esimerkiksi useamman kuin yhden roolin.
--- - name: Install MySQL server hosts: webservers roles: • 5KYDEV0P5.skydevops-mysql • Aaronpederson.mariadb
Suorita vain luettelo asennetuista rooleista.
# ansible-galaxy list
Roolien ansiosta Ansible-kirjojen uudelleenkäyttö ja jakaminen on melko helppoa. Näin he säästävät käyttäjää paljon aikaa yrittäessään kirjoittaa paljon turhaa koodia ja viettävät liikaa aikaa, jota olisi käytetty muissa järjestelmänhallintatehtävissä. Ja se on tässä oppaassa.