cloud computing. gestión de configuraciones. ansible
TRANSCRIPT
![Page 1: Cloud Computing. Gestión de configuraciones. Ansible](https://reader031.vdocuments.mx/reader031/viewer/2022030315/587af5fb1a28ab7f378b74f3/html5/thumbnails/1.jpg)
Pedro A. Castillo Valdivieso Depto. de Arquitectura y Tecnología de Computadores
Universidad de Granada [email protected]
![Page 2: Cloud Computing. Gestión de configuraciones. Ansible](https://reader031.vdocuments.mx/reader031/viewer/2022030315/587af5fb1a28ab7f378b74f3/html5/thumbnails/2.jpg)
Gestión de configuraciones 2
• Fuente de información principal: http://jj.github.io/CC/documentos/temas/Gestion_de_configuraciones
![Page 3: Cloud Computing. Gestión de configuraciones. Ansible](https://reader031.vdocuments.mx/reader031/viewer/2022030315/587af5fb1a28ab7f378b74f3/html5/thumbnails/3.jpg)
Ansible 3
• Ansible es un sistema de gestión remota de configuraciones que permite gestionar simultáneamente miles de sistemas diferentes.
• Básicamente, lo que hace Ansible es ejecutar comandos de forma remota y simultáneamente entre varias máquinas cliente.
![Page 4: Cloud Computing. Gestión de configuraciones. Ansible](https://reader031.vdocuments.mx/reader031/viewer/2022030315/587af5fb1a28ab7f378b74f3/html5/thumbnails/4.jpg)
Ansible 4
• En Linux podemos instalarlo con apt-get
![Page 5: Cloud Computing. Gestión de configuraciones. Ansible](https://reader031.vdocuments.mx/reader031/viewer/2022030315/587af5fb1a28ab7f378b74f3/html5/thumbnails/5.jpg)
Ansible 5
• En OS X podemos instalarlo con brew
![Page 6: Cloud Computing. Gestión de configuraciones. Ansible](https://reader031.vdocuments.mx/reader031/viewer/2022030315/587af5fb1a28ab7f378b74f3/html5/thumbnails/6.jpg)
Ansible 6
• Sólo hay que instalar Ansible en la máquina anfitrión, no en los clientes.
• Los clientes necesitan tener activada la conexión por ssh y tener una cuenta y forma válida de acceder a ellos.
![Page 7: Cloud Computing. Gestión de configuraciones. Ansible](https://reader031.vdocuments.mx/reader031/viewer/2022030315/587af5fb1a28ab7f378b74f3/html5/thumbnails/7.jpg)
Ansible 7
• Cada máquina bajo el control de Ansible se añade al fichero inventario, que contiene las IPs de las máquinas controladas por el mismo.
• Este inventario se usa para agrupar los servidores. echo "172.16.169.137" > ./ansible_hosts
echo ”172.16.169.136" >> ./ansible_hosts
export ANSIBLE_HOSTS=./ansible_hosts
![Page 8: Cloud Computing. Gestión de configuraciones. Ansible](https://reader031.vdocuments.mx/reader031/viewer/2022030315/587af5fb1a28ab7f378b74f3/html5/thumbnails/8.jpg)
Ansible 8
• Con las máquinas en ejecución, y sabiendo la IP de cada una, podemos pasar a trabajar:
![Page 9: Cloud Computing. Gestión de configuraciones. Ansible](https://reader031.vdocuments.mx/reader031/viewer/2022030315/587af5fb1a28ab7f378b74f3/html5/thumbnails/9.jpg)
Ansible 9
• Ya podemos comprobar si Ansible funciona: ansible all -m ping -u pedro --ask-pass
Hemos hecho ping a todas las máquinas del inventario, comprobando si son accesibles. La opción –u especifica el nombre del usuario (si es diferente del de la máquina local). Con --ask-pass pedirá la clave, si no se han configurado las máquinas clientes para acceder a ellas sin clave.
![Page 10: Cloud Computing. Gestión de configuraciones. Ansible](https://reader031.vdocuments.mx/reader031/viewer/2022030315/587af5fb1a28ab7f378b74f3/html5/thumbnails/10.jpg)
Ansible 10
• Ya podemos comprobar si Ansible funciona
![Page 11: Cloud Computing. Gestión de configuraciones. Ansible](https://reader031.vdocuments.mx/reader031/viewer/2022030315/587af5fb1a28ab7f378b74f3/html5/thumbnails/11.jpg)
Ansible 11
• Ejecutemos un comando en ambas máquinas:
![Page 12: Cloud Computing. Gestión de configuraciones. Ansible](https://reader031.vdocuments.mx/reader031/viewer/2022030315/587af5fb1a28ab7f378b74f3/html5/thumbnails/12.jpg)
Ansible 12
• Los módulos facilitan la ejecución de operaciones. • Usando el módulo command podemos instalar
cualquier programa en un grupo de máquinas definido. • Instalemos el editor de textos “joe”:
ansible all -m command -a ’sudo apt-get install -y joe' -u pedro --ask-pass La opción -a sirve para pasar los argumentos al módulo. Utilidad principal: ejecutar comandos en todas las máquinas de un grupo a la vez.
![Page 13: Cloud Computing. Gestión de configuraciones. Ansible](https://reader031.vdocuments.mx/reader031/viewer/2022030315/587af5fb1a28ab7f378b74f3/html5/thumbnails/13.jpg)
Ansible 13
Problemas que surgen...
![Page 14: Cloud Computing. Gestión de configuraciones. Ansible](https://reader031.vdocuments.mx/reader031/viewer/2022030315/587af5fb1a28ab7f378b74f3/html5/thumbnails/14.jpg)
Ansible 14
• Y cómo arreglarlos:
![Page 15: Cloud Computing. Gestión de configuraciones. Ansible](https://reader031.vdocuments.mx/reader031/viewer/2022030315/587af5fb1a28ab7f378b74f3/html5/thumbnails/15.jpg)
Ansible 15
• Tras configurar el acceso, indicaremos que pida también la clave del sudo:
![Page 16: Cloud Computing. Gestión de configuraciones. Ansible](https://reader031.vdocuments.mx/reader031/viewer/2022030315/587af5fb1a28ab7f378b74f3/html5/thumbnails/16.jpg)
Ansible 16
• Vemos que inicialmente no estaba instalado, pero después de ejecutar Ansible queda instalado en ambas.
![Page 17: Cloud Computing. Gestión de configuraciones. Ansible](https://reader031.vdocuments.mx/reader031/viewer/2022030315/587af5fb1a28ab7f378b74f3/html5/thumbnails/17.jpg)
Ansible - playbooks 17
• En los gestores de configuraciones hay un métodos para ejecutar una especie de procesos o tareas en lote.
• En Ansible se llaman “playbooks”.
• Son ficheros en sintaxis YAML para indicar a la máquina virtual qué instalar y cómo instalarlo.
![Page 18: Cloud Computing. Gestión de configuraciones. Ansible](https://reader031.vdocuments.mx/reader031/viewer/2022030315/587af5fb1a28ab7f378b74f3/html5/thumbnails/18.jpg)
Ansible - playbooks 18
• Por ejemplo, para instalar joe, podemos crear:
• Y lo ejecutamos con: ansible-playbook ./ej_ansibleplaybook.yml -u pedro --ask-pass --ask-sudo-pass
• Instalaremos joe en todas las máquinas indicadas en la primera línea (all).
![Page 19: Cloud Computing. Gestión de configuraciones. Ansible](https://reader031.vdocuments.mx/reader031/viewer/2022030315/587af5fb1a28ab7f378b74f3/html5/thumbnails/19.jpg)
Ansible - playbooks 19
• Podemos acceder a las máquinas por ssh y comprobar que está instalado el joe:
![Page 20: Cloud Computing. Gestión de configuraciones. Ansible](https://reader031.vdocuments.mx/reader031/viewer/2022030315/587af5fb1a28ab7f378b74f3/html5/thumbnails/20.jpg)
Ansible. Ejercicios 20
• Instala Ansible en tu sistema. • Configura el fichero de inventario incluyendo las IPs de
dos máquinas. • Usa Ansible para hacer ping a ambas máquinas. • Usa Ansible para instalar Apache en ambas máquinas. • Crea un “playbook” para Ansible con el que instalar
PHP. Aplícalo en ambas máquinas.
![Page 21: Cloud Computing. Gestión de configuraciones. Ansible](https://reader031.vdocuments.mx/reader031/viewer/2022030315/587af5fb1a28ab7f378b74f3/html5/thumbnails/21.jpg)
Recursos adicionales 21
http://jj.github.io/CC/documentos/temas/Gestion_de_configuraciones
Getting started with ansible in 5 minutes
https://wiredcraft.com/blog/getting-started-with-ansible-in-5-minutes/
An Ansible Tutorial
https://serversforhackers.com/an-ansible-tutorial
How To Deploy a Basic PHP Application Using Ansible on Ubuntu 14.04
https://www.digitalocean.com/community/tutorials/how-to-deploy-a-basic-php-application-using-ansible-on-ubuntu-14-04
Using Vagrant and Ansible
http://docs.ansible.com/ansible/guide_vagrant.html