Taller 5: Vagrant + Ansible
¿Qué vas a aprender en este taller?
- Configuración de ansible para automatizar la configuración de máquinas vagrant.
Recursos para realizar el taller
Acceder por ssh a una máquina vagrant sin usar el comando vagrant ssh
.
Como se explicó anteriormente, el comando vagrant ssh
realiza una conexión ssh utilizando la red de mantenimiento que siempre es la que corresponde a la interfaz eth0
. Pero, ¿puedo hacer una conexión directamente usando el comando ssh
? La respuesta es sí, pero debemos saber algunos datos:
- Suponemos que queremos acceder a una máquina que hemos llamado
nodo1
. - ¿Cuál es la IP de la máquina a la que quiero acceder? Podemos averiguarlo accediendo a la máquina o desde el host ejecutando
vagrant ssh nodo1 -c "hostname -I"
- ¿Cómo se llama el usuario con el que vamos a acceder? Todas las máquinas vagrant tienen un usuario sin privilegio llamado
vagrant
. - ¿Dónde se encuentra la clave privada que corresponde a la clave pública que se ha introducido en la máquina? Si nos situamos en el directorio donde está el
Vagranfile
, se encuentra en.vagrant/machines/nodo1/libvirt/private_key
.
Por lo tanto:
$ vagrant ssh nodo1 -c "hostname -I"
192.168.121.166
$ ssh -i .vagrant/machines/nodo1/libvirt/private_key vagrant@192.168.121.166
Podríamos usar la IP de eth0, o cualquier otra IP accesible de otra interfaz de la máquina.
¿Qué tienes que hacer?
-
Utilizando el escenario que puedes obtener en el directorio Taller5 del repositorio taller_ansible_vagrant, crea el escenario con vagrant.
-
Tenemos una sola máquina, accede a ella y averigua la IP que ha tomado la interfaz de red.
-
Si tuviéramos que acceder por ssh a dicha máquina utilizaríamos el usuario
vagrant
y necesitaríamos la clave privada que corresponde a la clave pública que se ha inyectado en la máquina al crearse. La clave privada la podemos encontrar en el directorio donde tenemos el ficheroVagrantfile
, en el directorio.vagrant/machines/default/libvirt/private_key
. El directorio se llamadefault
porque tenemos una única máquina, si el escenario tuviera más de una máquina habría un directorio con el nombre de cada máquina. -
Ya tenemos las credenciales para acceder a la máquina. Ahora vamos a estudiar el inventario del playbook de ansible que encontramos en el directorio
ansible
. Vamos a estudiar el ficherohosts
:ansible_ssh_host
: Dirección IP del equipo, debes poner la que ha tomado tu máquina.ansible_ssh_user
:vagrant
ansible_ssh_private_key_file
:../.vagrant/machines/default/libvirt/private_key
- Comprueba que tienes conectividad con la máquina.
- Ejecuta el playbook que instala un servidor web en la máquina.
¿Qué tienes que entregar?
- Entrega una captura de pantalla donde se vea que se ha finalizado la ejecución del playbook.
- Captura de pantalla donde se vea el acceso desde el navegador al servidor web.