Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
ansible [2022/07/03 21:38] clara_cabrera_meseguer |
ansible [2024/05/30 08:56] (actual) enric_mieza_sanchez [Vagrant amb Ansible] |
||
---|---|---|---|
Línia 1: | Línia 1: | ||
===== Ansible: eina d' | ===== Ansible: eina d' | ||
- | Sóc Clara Cabrera i faré documentació d' | + | **Ansible** és un sistema d' |
- | + | ||
- | + | ||
- | Ansible és un sistema d' | + | |
Ansible automatitza la gestió de sistemes remots i controla el seu estat desitjat. | Ansible automatitza la gestió de sistemes remots i controla el seu estat desitjat. | ||
+ | {{: | ||
{{: | {{: | ||
Línia 14: | Línia 11: | ||
- | {{tag> #FPInfor #Ceti #CetiMp03 #Ciber #CiberMp03 #Smx #SmxMp04 ansible vagrant DevOps}} | + | {{tag> #FPInfor #Ceti #CetiMp03 #Ciber #CiberMp03 #Smx # |
\\ | \\ | ||
Línia 26: | Línia 23: | ||
* No té agents. | * No té agents. | ||
- | Un entorn ansible conté els següents components principals: | + | Un entorn ansible conté els següents |
* **Node de control**: un sistema en el que s' | * **Node de control**: un sistema en el que s' | ||
Línia 73: | Línia 70: | ||
També es poden utilitzar variables. Es pot consultar la [[https:// | També es poden utilitzar variables. Es pot consultar la [[https:// | ||
+ | \\ | ||
- | \\ | ||
=== Modificadors del comando Ansible | === Modificadors del comando Ansible | ||
- | El comando Ansible té diversos arguments (modificadors) que li podem posar. Es pot consultar la [[https:// | + | El comando |
- | L’estructura és: | + | **L’estructura** és: |
< | < | ||
< | < | ||
$ansible all --> per executar el comando en tots els servidors del fitxer " | $ansible all --> per executar el comando en tots els servidors del fitxer " | ||
- | |||
Aquí us deixo una llista d’alguns **arguments** per Ansible. | Aquí us deixo una llista d’alguns **arguments** per Ansible. | ||
Línia 97: | Línia 93: | ||
< | < | ||
* Per comprovar la connexió amb el servidor, utilitzar el mòdul PING: | * Per comprovar la connexió amb el servidor, utilitzar el mòdul PING: | ||
- | < | + | < |
* Per comprovar el nom del host dels servidors: | * Per comprovar el nom del host dels servidors: | ||
< | < | ||
Línia 103: | Línia 99: | ||
< | < | ||
- | Alguns dels mòduls per utilitzar són: | + | Alguns dels **mòduls** per utilitzar són: |
* **apt**: per la gestió de paquets '' | * **apt**: per la gestió de paquets '' | ||
Línia 124: | Línia 120: | ||
$ ansible ansible1 -m cron -a " | $ ansible ansible1 -m cron -a " | ||
* **setup**: per veure totes les dades tècniques dels servidors. També es pot utilitzar el modificador '' | * **setup**: per veure totes les dades tècniques dels servidors. També es pot utilitzar el modificador '' | ||
- | < | + | < |
$ ansible ansible1 -m setup -a “filter=*ipv4” </ | $ ansible ansible1 -m setup -a “filter=*ipv4” </ | ||
\\ | \\ | ||
+ | |||
+ | ---- | ||
+ | |||
==== Instal·lació d’Ansible | ==== Instal·lació d’Ansible | ||
Línia 143: | Línia 142: | ||
Una vegada s’ha realitzat la instal·lació cal configurar el fitxer // | Una vegada s’ha realitzat la instal·lació cal configurar el fitxer // | ||
- | ==== Estructura del Playbook1.yaml | + | === Estructura del Playbook1.yaml === |
L’estructura bàsica d’un // | L’estructura bàsica d’un // | ||
Línia 159: | Línia 158: | ||
</ | </ | ||
- | En aquest cas seria un exemple de // | + | En aquest cas seria un **exemple** de //**Playbook**// per instal·lar l’'' |
- | * Primer es posen els hosts, que són els servidors del nostre inventari, indicats com es vulgui. | + | * Primer es posen els //**hosts**//, que són els servidors del nostre inventari, indicats com es vulgui. |
- | * Opcionalment, | + | * Opcionalment, |
* Es posen les tasques (tasks), una o diverses. | * Es posen les tasques (tasks), una o diverses. | ||
- | * Cada tasca s' | + | * Cada **tasca** s' |
- | * Després es posa el //mòdul// d’Ansible a utilitzar. En la mateixa línia del //mòdul// es posen els seus paràmetres i es configura igual que un comando AD-HOC. | + | * Després es posa el //**mòdul**// d’Ansible a utilitzar. En la mateixa línia del //mòdul// es posen els seus paràmetres i es configura igual que un comando AD-HOC. |
- | * Tenir en compte: | + | |
- | * Es recomana crear un directori on guardar els // | + | * Es recomana |
* Les tasques s' | * Les tasques s' | ||
- | * Es pot utilitzar qualsevol editor, tant un IDE tipus Visual Studio Code, com en la terminal amb un editor de text tipus '' | + | * Es pot utilitzar qualsevol |
* El nom de l' | * El nom de l' | ||
* Els '' | * Els '' | ||
- | * Dintre d'un mateix // | + | * Dintre d'un mateix // |
- | * Es pot definir l' | + | * Es pot **definir l' |
- | * Per a executar el // | + | * Per a **executar** el // |
< | < | ||
- | Dintre dels // | + | <WRAP center round info 100%> |
+ | Dintre dels //**Playbooks**// es poden **definir**: | ||
* **Handlers**: | * **Handlers**: | ||
Línia 183: | Línia 183: | ||
* **Rol**: paquets d’aplicacions predefinides. | * **Rol**: paquets d’aplicacions predefinides. | ||
* **Pre_tasks**: | * **Pre_tasks**: | ||
- | * **Template**: | + | * **Template**: |
- | < | + | < |
- | template: | + | |
- | | + | |
- | | + | |
</ | </ | ||
+ | </ | ||
+ | \\ | ||
+ | <WRAP center round todo 100%> | ||
+ | Et proposo realitzar les **activitats** següents: | ||
+ | |||
+ | **Activitat 1**: Instal·la Ansible en el teu node controlador i crea un Playbook per realitzar tasques de manteniment i control dels teus servidors. | ||
+ | |||
+ | **Activitat 2**: Configura el crontab del servidor Ansible per llançar tots els Playbooks diàriament. | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | ==== Vagrant amb Ansible ==== | ||
+ | |||
+ | Molts projectes necessiten d'un **entorn d' | ||
+ | {{: | ||
+ | |||
+ | Si et preguntes què pots fer amb '' | ||
+ | |||
+ | <WRAP center round tip 100%> | ||
+ | * Aixecar les màquines virtuals | ||
+ | * Configurar la xarxa | ||
+ | * Realitzar les actualitzacions de programari | ||
+ | * Instal·lar els paquets del programari que s' | ||
+ | * Copiar els fitxers de configuració de plantilles prèviament creades | ||
+ | * Aixecar o parar els serveis que es determinin | ||
+ | * Executar qualsevol tasca en cadascuna de les màquines virtuals | ||
+ | * Deixar l' | ||
+ | |||
+ | </ | ||
+ | | ||
+ | Per a **executar** '' | ||
+ | |||
+ | < | ||
+ | |||
+ | # | ||
+ | # Executa Ansible des de Vagrant Host | ||
+ | # | ||
+ | config.vm.provision " | ||
+ | ansible.playbook = " | ||
+ | end | ||
+ | |||
+ | end | ||
+ | |||
+ | </ | ||
+ | |||
+ | Només que hi hagi 1 màquina amb el // | ||
+ | |||
+ | $ ansible all --inventory-file=.vagrant/ | ||
+ | |||
+ | Ull, perquè funcioni bé: | ||
+ | * Hem de tenir Ansible instal·lat a la màquina amfitriona. | ||
+ | * Probablement el primer cop ens demani confirmació dels certificats SSH (caldrà respondre " | ||
+ | * Potser xoca amb la configuració d' | ||
+ | |||
+ | |||
+ | |||
+ | <WRAP center round todo 100%> | ||
+ | |||
+ | Et proposo fer la següent **activitat**: | ||
+ | |||
+ | **Activitat 3**: Crear un entorn d’integració amb Vagrant i Ansible, per realitzar el manteniment i control dels teus servidors. | ||
+ | |||
+ | </ | ||
+ | |||
+ | \\ | ||
+ | --- // |