IES Miguel Romero Esteo - Departamento de Informática - Linux/Unix

Ansible/ Taller combinado de vboxmanage y Ansible

Comandos:

Protocolo para la prueba de evaluación:

Enunciado:


    Como el alumno sabe, Ansible es un producto de orquestación de recursos TI. Orquestación es un término muy amplio que incluye otros como administrar, configurar, gestionar, actualizar, instalar, etc..; todas esas tareas encomendadas a los sysadmin y que el alumno conoce muy bien.

Antes de empezar

A partir de este punto, todas las operaciones que se hagan en la máquina anfitrión se harán como usuario operador    

Preparación de los discos virtuales

https://www.linuxvmimages.com o https://www.osboxes.org/ son espacios en la red donde encontrar objetos compatibles con VirtualBox y VMware pensados para simplificar la puesta en marcha de máquinas virtuales. De uno de esos lugares se han descargado los objetos relacionados abajo y se han puesto a disposición de los alumnos en este espacio (sólo es accesible desde el aula).
Descagar los archivos anteriores en el directorio $HOME/VirtualBox/VDIs (crearlo si no existe) y realizar las siguientes operaciones.
ansible-deb1-disco.vdi (resultado de mover ansible-deb-disco.vdi)
ansible-deb2-disco.vdi (resultado de copiar ansible-deb1-disco.vdi)
ansible-userv-disco.vdi

Creación del entorno de red

Crear un shell-script en lenguaje bash de nombre crea-nat-ansible que haga lo siguiente:

En caso de que exista, elimina la red NAT de nombre nat-ansible y la vuelve a crear  con las siguientes especificaciones:

Verificar la existencia de alguna red sólo-anfitrión. En caso afirmativo mostrar por la salida estandar los nombre de las mismas. En caso negativo crear una red sólo-anfitrión con los parámetros por defecto y mostrar el nombre de la misma por la salida estandar.

Creación de las máquinas virtuales


Crear un shell-script en lenguaje bash que responda a estas especificaciones:
NAME
    crea-vm-ansible - Crea máquinas virtuales con algunas especificaciones no configurables.

SYNOPSIS
    crea-vm-ansible VM-NAME  SO-TYPE  VDI-NAME HOSTONLY-NAME

DESCRIPCION
    Crea una máquina virtual con las siguientes especificaciones:
  • Nombre de la máquina virtual: $VM-NAME
  • Directorio base: $HOME/VirtualBox (OJO!. En la consola, el comando vboxmanage escapa el caracter $. No se puede usar la variable de entorno $HOME)
  • SO: $SO-TYPE
  • Tamaño de la memoria RAM: 1024 Mb.
  • Núcleos de CPU: 2
  • Red: 
    • Adaptador NIC1 conectado a la red NAT nat-ansible
    • Adaptador NIC2  conectado a la red $HOSTONLY-NAME
  • Almacenamiento:
    • Controlador SATA
      • Nombre: $VM-NAME-sata
      • Número de puertos: 4
      • Conectar al puerto 0 el disco virtual $HOME/VirtualBox/VDIs/$VDI-NAME
  • Audio: Deshabilitar
  • Puertos serie: Deshabilitar todos (son 4)
Haciendo uso del shell-script crea-vm-ansible crea las siguientes máquina virtuales:

Máquina 1


Máquina 2

Máquina 3

Puesta a punto de los sistemas operativos en las tres máquinas

(No es obligatorio pero conviene seguir la secuencia establecida aquí abajo)

Ansible entra en acción

    Antes de proceder téngase en cuenta que ansible ha sido instalado desde los repositorios de una distro, con lo cual, el despliegue de archivos sobre el sistema de ficheros es distinto al que se obtuvo con la instalación manual  descrita en ansible_director.pdf (podría no haberse hecho manualmente dependiendo de las instancias de AWS usadas), ahora, entre otras cosas, se cuenta con varios ficheros por defecto, un despliegue disperso por todo el árbol de directorios (usar dpkg -L si se quiere averiguar dónde está cada cosa) y una notable ampliación del catálogo de módulos disponibles (verifíquese con el comando help invocado desde el prompt que proporciona ansible-console).

    Se aconseja al alumno que antes de insertar lineas de texto en los playbooks sin más, lo cual, le obligará a posteriori a ir depurando por el procedimiento de ejecución->error->depuración y vuelta a empezar, utilice al comando ansible para probar prototipos de argumentación de módulos antes de llevar la versión definitiva al fichero de texto. Esto le ahorrará tiempo y malos ratos.

    Como el alumno sabe, l
os modificadores   -i   -u   --key-file   del comando ansible-playbook permiten a un usuario sin privilegios actuar como root en las máquinas objetivo, dicho lo cual..... hacer login al nodo-0 como operador y, manteniendo esta identidad, realizar las siguientes operaciones:

Al finalizar el taller