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:40] 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 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. | ||
| + | |||
| + | </ | ||
| + | |||
| + | \\ | ||
| + | --- // | ||