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