Les comandes ad-hoc d'Ansible són ordres simples que es poden executar des de la línia de comandes per realitzar tasques ràpides i senzilles sense la necessitat de crear un playbook. Aquestes comandes són molt útils per a tasques d'administració del sistema, com ara instal·lar paquets, copiar fitxers o gestionar serveis.
Objectius d'aquest tema
- Entendre què són les comandes ad-hoc.
- Aprendre a executar comandes ad-hoc bàsiques.
- Conèixer els mòduls més utilitzats en comandes ad-hoc.
- Practicar amb exemples pràctics.
Què són les comandes ad-hoc?
Les comandes ad-hoc són ordres que es poden executar directament des de la línia de comandes d'Ansible per realitzar accions immediates en els nodes gestionats. Aquestes comandes utilitzen mòduls d'Ansible per dur a terme tasques específiques.
Sintaxi bàsica
La sintaxi bàsica d'una comanda ad-hoc és la següent:
<grup_o_host>
: El grup o host sobre el qual s'executarà la comanda.-m <mòdul>
: El mòdul d'Ansible que s'utilitzarà.-a "<arguments>"
: Els arguments que es passaran al mòdul.
Executant comandes ad-hoc bàsiques
Exemple 1: Ping
El mòdul ping
s'utilitza per verificar la connectivitat amb els hosts gestionats.
Explicació:
all
: Especifica que la comanda s'executarà en tots els hosts definits en l'inventari.-m ping
: Utilitza el mòdulping
.
Exemple 2: Instal·lar un paquet
El mòdul yum
s'utilitza per gestionar paquets en sistemes basats en Red Hat. En aquest exemple, instal·larem el paquet httpd
.
Explicació:
webservers
: Especifica el grup de hosts anomenatwebservers
.-m yum
: Utilitza el mòdulyum
.-a "name=httpd state=present"
: Instal·la el paquethttpd
.
Exemple 3: Copiar un fitxer
El mòdul copy
s'utilitza per copiar fitxers des de la màquina de control als hosts gestionats.
Explicació:
all
: Especifica que la comanda s'executarà en tots els hosts definits en l'inventari.-m copy
: Utilitza el mòdulcopy
.-a "src=/etc/hosts dest=/tmp/hosts"
: Copia el fitxer/etc/hosts
a/tmp/hosts
en els hosts gestionats.
Mòduls més utilitzats en comandes ad-hoc
A continuació es mostra una taula amb alguns dels mòduls més utilitzats en comandes ad-hoc i les seves funcions:
Mòdul | Funció |
---|---|
ping | Verificar la connectivitat amb els hosts |
yum | Gestionar paquets en sistemes basats en Red Hat |
apt | Gestionar paquets en sistemes basats en Debian |
copy | Copiar fitxers |
service | Gestionar serveis |
user | Gestionar usuaris |
command | Executar comandes en els hosts |
Exercicis pràctics
Exercici 1: Verificar la connectivitat
Executa una comanda ad-hoc per verificar la connectivitat amb tots els hosts definits en el teu inventari.
Solució:
Exercici 2: Instal·lar un paquet
Utilitza una comanda ad-hoc per instal·lar el paquet nginx
en tots els hosts del grup webservers
.
Solució:
Exercici 3: Copiar un fitxer
Copia el fitxer /etc/hosts
de la màquina de control a /tmp/hosts
en tots els hosts definits en el teu inventari.
Solució:
Errors comuns i consells
- Error de connexió: Si obtens un error de connexió, assegura't que els hosts gestionats són accessibles i que tens les credencials correctes.
- Permisos insuficients: Alguns mòduls requereixen permisos d'administrador. Utilitza l'opció
--become
per executar la comanda amb privilegis elevats. - Arguments incorrectes: Verifica que els arguments passats als mòduls són correctes i compleixen amb la sintaxi esperada.
Resum
En aquest tema, hem après què són les comandes ad-hoc d'Ansible i com utilitzar-les per realitzar tasques ràpides i senzilles. Hem vist exemples pràctics d'execució de comandes ad-hoc i hem conegut alguns dels mòduls més utilitzats. Finalment, hem practicat amb exercicis per reforçar els conceptes apresos.
En el següent tema, explorarem els mòduls d'Ansible en més detall.
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