Skip to content

Ansible Galaxy

Ansible tööriistadega tuleb ka kaasa ansible-galaxy käsureatööriist, mis lihtsustab erinevaid protsesse. Vaatame kuidas see käib.

Best-practice rolli loomine

Rolli loomine on Ansibles tegelt suht tüütu protsess - palju kaustu, faile, jms mida peab meeles pidama.

ansible-galaxy teeb selle märkimisväärselt lihtsamaks.

Complete

Teeme uue rolli kasutades ansible-galaxy tööriista.

Mine oma Ansible roles/ kausta, ja uuri ansible-galaxy --help ja ansible-galaxy role --help väljundeid.

Vastavalt väljundile, proovi ansible-galaxy role init <rollinimi> käsku.

Verify

Käsk peaks andma väljundi - Role <rollinimi> was created successfully.

Lisaks, peaks olema tekkinud kaust, rollinimega, kus on sees best-practice stiilis roll.

Roll Ansible Galaxy-st

ansible-galaxy lubab ka rolle alla laadida ja manageerida.

Complete

Proovime ise alla tõmmata ja kasutada rolli, lihtsuse huvides alustame rolliga geerlingguy.java.

Tõmbame selle alla: ansible-galaxy role install geerlingguy.java

Kontrollime, et sai installitud: ansible-galaxy role list

Kasutame rolli enda playbooki sees:

Näidis rolli enda lehelt.
- hosts: servers
  roles:
    - role: geerlingguy.java
      become: yes

Ja jooksutame seda playbooki.

Verify

Roll peaks installima, tekkima rollide nimekirja, Ansiblet käivitades rolliga pannakse see käima.

Pärast Ansible jooksutamist peaks masina sees töötama java käsk.

Collection Ansible Galaxyst

Ansible dokumentatsioonist
Collections are a distribution format for Ansible content that can include playbooks, roles, modules, and plugins.

See tähendab, et kollektsiooni sees võib olla põhimõtteliselt kõike, aga kuna eelmises taskis me juba rolli installisime, siis proovime kuidas mooduleid lisada ja kasutada.

Hea näide on timezone moodul. Loe kindlasti ka dokumentatsiooni lehe alguses olevat bannerit.

This module is part of the community.general collection (version 12.1.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install community.general.

To use it in a playbook, specify: community.general.timezone

Complete

Installeerime community.general kollektsiooni: ansible-galaxy collection install community.general

Lisame playbooki taski, mis muudab ajatsooni UTC-ks:

- name: Set timezone to UTC
  community.general.timezone:
    name: UTC

Ja pane playbook pärast käima.

Verify

Playbook jooksis ilusti, ja pärast masinast kontrollides date käsuga on ajatsoon UTC.

Boonus

Siin ka väike boonusülesanne neile, kel huvi ja aega.

Complete

Kasutades geerlingguy.nginx Ansible Galaxy rolli:

  1. Installi serverisse Nginx
  2. Konfigureeri see serveerima sarnast veebilehte, nagu meil juba kasutusel
  3. Lülita sisse nginx_remove_default_vhost=true muutuja, et meie vana seis eemaldataks.

Verify

Peale Ansible playbooki jooksutamist, mis kasutab geerlingguy.nginx rolli, vastab konfigureeritud veebileht.