Els mòduls són una part fonamental d'Ansible, ja que són les unitats de treball que Ansible executa en els nodes gestionats. En aquest tema, aprendrem què són els mòduls, com utilitzar-los i veurem alguns exemples pràctics.
Què són els Mòduls d'Ansible?
Els mòduls d'Ansible són petits programes que Ansible envia als nodes gestionats per executar tasques específiques. Cada mòdul està dissenyat per realitzar una tasca concreta, com ara gestionar usuaris, instal·lar paquets, copiar fitxers, etc.
Característiques dels Mòduls:
- Idempotència: Els mòduls estan dissenyats per ser idempotents, és a dir, executar-los múltiples vegades no canviarà l'estat del sistema si ja està en l'estat desitjat.
- Portabilitat: Els mòduls són portables i poden executar-se en diferents sistemes operatius.
- Extensibilitat: Ansible permet crear mòduls personalitzats per a tasques específiques.
Tipus de Mòduls
Ansible inclou una àmplia varietat de mòduls que es poden classificar en diferents categories:
| Categoria | Descripció |
|---|---|
| System | Gestió d'usuaris, grups, serveis, etc. |
| Files | Gestió de fitxers i directoris. |
| Network | Configuració de dispositius de xarxa. |
| Cloud | Gestió de recursos en plataformes de núvol com AWS, Azure, GCP, etc. |
| Database | Gestió de bases de dades com MySQL, PostgreSQL, etc. |
| Packaging | Instal·lació i gestió de paquets de programari. |
| Commands | Execució de comandes en els nodes gestionats. |
Utilitzant Mòduls en Comandes Ad-hoc
Els mòduls es poden utilitzar directament en comandes ad-hoc per executar tasques ràpides. A continuació, es mostra un exemple d'ús del mòdul ping per verificar la connectivitat amb els nodes gestionats:
Explicació:
all: Indica que la comanda s'executarà en tots els nodes definits en l'inventari.-m ping: Utilitza el mòdulpingper verificar la connectivitat.
Utilitzant Mòduls en Playbooks
Els mòduls també es poden utilitzar dins dels playbooks per definir tasques més complexes. A continuació, es mostra un exemple d'un playbook que utilitza el mòdul user per crear un nou usuari:
---
- name: Crear un nou usuari
hosts: all
tasks:
- name: Crear l'usuari 'johndoe'
user:
name: johndoe
state: present
groups: sudoExplicació:
name: Nom del playbook.hosts: Defineix els nodes on s'executarà el playbook.tasks: Llista de tasques a executar.user: Mòdul utilitzat per gestionar usuaris.name: Nom de l'usuari a crear.state: Estat desitjat de l'usuari (presentper crear-lo).groups: Grups als quals pertany l'usuari.
Exercicis Pràctics
Exercici 1: Utilitzar el Mòdul file per Crear un Fitxer
Objectiu: Crear un fitxer anomenat example.txt en el directori /tmp en tots els nodes gestionats.
Solució:
Exercici 2: Utilitzar el Mòdul yum per Instal·lar un Paquet
Objectiu: Instal·lar el paquet httpd en tots els nodes gestionats que utilitzen el gestor de paquets yum.
Solució:
Exercici 3: Crear un Playbook per Gestionar Serveis
Objectiu: Escriure un playbook que instal·li el servei nginx i asseguri que estigui en execució.
Solució:
---
- name: Gestionar el servei nginx
hosts: all
tasks:
- name: Instal·lar nginx
yum:
name: nginx
state: present
- name: Assegurar que nginx està en execució
service:
name: nginx
state: started
enabled: yesErrors Comuns i Consells
-
Error: "Mòdul no trobat".
- Solució: Assegura't que el mòdul que estàs intentant utilitzar està instal·lat i disponible en el sistema.
-
Error: "Permisos insuficients".
- Solució: Alguns mòduls requereixen permisos d'administrador. Utilitza l'opció
--becomeper executar la comanda amb privilegis elevats.
- Solució: Alguns mòduls requereixen permisos d'administrador. Utilitza l'opció
-
Consell: Utilitza l'opció
-vvvper obtenir més informació de depuració si una comanda no funciona com s'esperava.
Conclusió
En aquesta secció, hem après què són els mòduls d'Ansible, com utilitzar-los en comandes ad-hoc i playbooks, i hem vist alguns exemples pràctics. Els mòduls són una eina poderosa que permet automatitzar una àmplia varietat de tasques en els nodes gestionats. En el següent mòdul, explorarem com escriure i estructurar playbooks per gestionar configuracions més complexes.
Ansible: De Principiant a Avançat
Mòdul 1: Introducció a Ansible
Mòdul 2: Conceptes bàsics d'Ansible
Mòdul 3: Playbooks
- Introducció als Playbooks
- Escrivint el teu primer Playbook
- Estructura del Playbook
- Variables i Fets
- Condicionals i Bucles
Mòdul 4: Rols
Mòdul 5: Tècniques Avançades de Playbook
Mòdul 6: Ansible Galaxy
Mòdul 7: Ansible Tower
- Introducció a Ansible Tower
- Instal·lant Ansible Tower
- Utilitzant Ansible Tower
- Gestionant Projectes i Inventaris
