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.