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:22] 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 | ||
| + | Per fer la **instal·lació** es pot seguir el manual oficial d’Ansible. En cas de tenir el sistema operatiu '' | ||
| + | < | ||
| + | # apt update | ||
| + | # apt install software-properties-common | ||
| + | # add-apt-repository --yes --update ppa: | ||
| + | # apt-get install ansible | ||
| + | </ | ||
| + | |||
| + | Si es vol tenir l’última versió es pot baixar de pypi (pip install ansible). S’ha de tenir en compte que s’ha de tenir instal·lat abans '' | ||
| + | |||
| + | Una vegada s’ha realitzat la instal·lació cal configurar el fitxer // | ||
| + | |||
| + | === Estructura del Playbook1.yaml === | ||
| + | |||
| + | L’estructura bàsica d’un // | ||
| + | < | ||
| + | -- | ||
| + | - hosts: ansible1 | ||
| + | become: yes | ||
| + | tasks: | ||
| + | - name: Install Apache | ||
| + | apt: name=apache2 state=latest | ||
| + | - name: Check Apache is running & start on boot | ||
| + | service: name=apache2 state=started enabled=yes | ||
| + | ... | ||
| + | |||
| + | </ | ||
| + | |||
| + | En aquest cas seria un **exemple** de // | ||
| + | |||
| + | * Primer es posen els // | ||
| + | * Opcionalment, | ||
| + | * Es posen les tasques (tasks), una o diverses. | ||
| + | * Cada **tasca** s' | ||
| + | * Després es posa el // | ||
| + | * //**Tenir en compte**//: | ||
| + | * Es recomana **crear un directori** on guardar els // | ||
| + | * 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 '' | ||
| + | * El nom de l' | ||
| + | * Els '' | ||
| + | * Dintre d'un mateix // | ||
| + | * Es pot **definir l' | ||
| + | * Per a **executar** el // | ||
| + | < | ||
| + | |||
| + | <WRAP center round info 100%> | ||
| + | Dintre dels // | ||
| + | |||
| + | * **Handlers**: | ||
| + | * **Include**: | ||
| + | * **Rol**: paquets d’aplicacions predefinides. | ||
| + | * **Pre_tasks**: | ||
| + | * **Template**: | ||
| + | < | ||
| + | | ||
| + | src: archivo-config.j2 | ||
| + | dest: / | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | \\ | ||
| + | |||
| + | |||
| + | <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. | ||
| + | |||
| + | </ | ||
| + | |||
| + | \\ | ||
| + | --- // | ||