Introducció
Ansible és una eina de gestió de configuració i automatització de tasques que permet als administradors de sistemes gestionar grans quantitats de servidors de manera eficient. Utilitza un llenguatge de configuració senzill basat en YAML, anomenat Playbooks, per definir les tasques a realitzar.
Objectius del Mòdul
- Comprendre què és Ansible i com funciona.
- Aprendre a instal·lar i configurar Ansible.
- Crear i executar Playbooks bàsics.
- Gestionar inventaris de servidors.
- Automatitzar tasques comunes amb Ansible.
Què és Ansible?
Ansible és una eina de codi obert que permet la gestió de configuracions, el desplegament d'aplicacions i l'automatització de tasques. A diferència d'altres eines de gestió de configuració, Ansible no requereix agents instal·lats en els nodes gestionats, ja que utilitza SSH per comunicar-se amb ells.
Característiques Clau
- Sense agents: No cal instal·lar cap programari addicional en els nodes gestionats.
- Basat en SSH: Utilitza SSH per comunicar-se amb els nodes.
- Declaratiu: Els Playbooks descriuen l'estat desitjat del sistema.
- Idempotent: Les tasques es poden executar múltiples vegades sense canviar l'estat del sistema si ja està en l'estat desitjat.
Instal·lació d'Ansible
Requisits Previs
- Un sistema Linux amb accés a internet.
- Privilegis de superusuari (root) o sudo.
Passos d'Instal·lació
-
Actualitzar el sistema:
sudo apt update sudo apt upgrade
-
Instal·lar Ansible:
sudo apt install ansible
-
Verificar la instal·lació:
ansible --version
Configuració Bàsica
Inventari
L'inventari és un fitxer que conté la llista de nodes que Ansible gestionarà. Per defecte, es troba a /etc/ansible/hosts
.
Exemple d'Inventari
Playbooks
Els Playbooks són fitxers YAML que defineixen les tasques a realitzar en els nodes.
Exemple de Playbook
--- - name: Instal·lar i configurar Apache hosts: webservers become: yes tasks: - name: Instal·lar Apache apt: name: apache2 state: present - name: Iniciar el servei Apache service: name: apache2 state: started enabled: yes
Executar Playbooks
Per executar un Playbook, utilitza la comanda ansible-playbook
seguida del nom del fitxer del Playbook.
Exercicis Pràctics
Exercici 1: Crear un Inventari
- Crea un fitxer d'inventari anomenat
hosts
amb el següent contingut:[webservers] web1.example.com web2.example.com [dbservers] db1.example.com db2.example.com
Exercici 2: Escriure un Playbook
- Escriu un Playbook anomenat
install_apache.yml
que faci el següent:- Instal·li el paquet
apache2
. - Iniciï el servei
apache2
i asseguri que s'iniciï automàticament en arrencar el sistema.
- Instal·li el paquet
Solucions
Solució de l'Exercici 1
Solució de l'Exercici 2
--- - name: Instal·lar i configurar Apache hosts: webservers become: yes tasks: - name: Instal·lar Apache apt: name: apache2 state: present - name: Iniciar el servei Apache service: name: apache2 state: started enabled: yes
Errors Comuns i Consells
Errors Comuns
- Error de sintaxi en YAML: Assegura't que la indentació és correcta.
- Problemes de connexió SSH: Verifica que els nodes són accessibles via SSH i que les claus SSH estan configurades correctament.
Consells
- Utilitza el mode de prova (
--check
) per veure què farà el Playbook sense fer canvis reals. - Utilitza variables per fer els Playbooks més flexibles i reutilitzables.
Conclusió
En aquest mòdul, hem après què és Ansible, com instal·lar-lo i configurar-lo, i com crear i executar Playbooks bàsics. Amb aquestes habilitats, pots començar a automatitzar tasques comunes en els teus servidors Linux, millorant l'eficiència i reduint errors humans. En els següents mòduls, explorarem temes més avançats d'Ansible i altres eines d'automatització.
Domini de Linux: De Principiant a Avançat
Mòdul 1: Introducció a Linux
- Què és Linux?
- Història de Linux
- Distribucions de Linux
- Instal·lant Linux
- Estructura del Sistema de Fitxers de Linux
Mòdul 2: Comandes Bàsiques de Linux
- Introducció a la Línia de Comandes
- Navegant pel Sistema de Fitxers
- Operacions amb Fitxers i Directoris
- Visualització i Edició de Fitxers
- Permisos i Propietat dels Fitxers
Mòdul 3: Habilitats Avançades de la Línia de Comandes
- Ús de Comodins i Expressions Regulars
- Piping i Redirecció
- Gestió de Processos
- Programació de Tasques amb Cron
- Comandes de Xarxa
Mòdul 4: Scripting de Shell
- Introducció al Scripting de Shell
- Variables i Tipus de Dades
- Estructures de Control
- Funcions i Biblioteques
- Depuració i Gestió d'Errors
Mòdul 5: Administració del Sistema
- Gestió d'Usuaris i Grups
- Gestió de Discs
- Gestió de Paquets
- Monitorització del Sistema i Optimització del Rendiment
- Còpia de Seguretat i Restauració
Mòdul 6: Xarxes i Seguretat
- Configuració de Xarxa
- Tallafocs i Seguretat
- SSH i Accés Remot
- Sistemes de Detecció d'Intrusions
- Assegurant Sistemes Linux
Mòdul 7: Temes Avançats
- Virtualització amb Linux
- Contenidors de Linux i Docker
- Automatització amb Ansible
- Optimització del Nucli de Linux
- Alta Disponibilitat i Balanceig de Càrrega