Mi laboratorio Ansible con VMWare Workstation

Hola amigos, en esta ocasión quería compartir con vosotros mi laboratorio Ansible que he montado.

Tal como prometí desde Twitter, aquí os voy a dejar mi guía para que intentes hacer tus propios escenarios Ansible y puedas hacer tus propios experimentos Linuxeros.

Todo lo he montado apoyándome en el uso de algunas máquinas virtuales.

Como sabéis la mayoría, VMWare Workstation o VirtualBox, son aplicaciones que nos van a permitir crear diferentes máquinas virtuales.

Esto nos quita la necesidad de hacer particiones de disco duro real en nuestro PC.

Ya llevaba tiempo con ganas de hacer un laboratorio con varias máquinas Ansible, pero por tiempo o por ganas no he encontrado un hueco. Los que trabajáis, sabéis lo complicado que es salir del trabajo y concentraros en seguir haciendo cosas en casa…

Os presento mi escenario de partida para el laboratorio VMware

Bueno, dentro de la informalidad de crear un escenario Ansible casero, me he permitido el lujo de ir documentando todo e incluso crearme un escenario de red para explicar mejor mis objetivos.

Espero que sea de vuestro interés y quede medianamente claro 🙂

Diseño del escenario Ansible sobre Microsoft Visio

Aunque si es cierto que luego he añadido alguna máquina más, el propósito era de crear varias máquinas sobre mi propia red de casa, es por eso por lo que el rango de IPs os puede resultar bastante familiar 🙂

Bien, tal como he configurado cada una de las máquinas, todas y cada una de ellas tendrán acceso a Internet por si tengo que instalar algún paquete en mis orquestaciones mediante comandos YUM.

El diseño de la red de servidores Ansible quedaría así:

orquestaciones Ansible con tareas linux
orquestaciones Ansible con tareas linux

El plan de direccionamiento quedaría así:

  • 192.168.1.11 Centos principal Ansible, desde el que lanzamos todos los comandos.
  • 192.168.1.12 Centos secundario Ansible, recibe comandos del servidor principal.
  • 192.168.1.13 Centos terciario Ansible, recibe también comandos Ansible.
  • 192.168.1.1 La IP del router con acceso a Internet y que hará NAT.

La configuración de las máquinas virtuales en Vmware

Adjunto una pequeña captura de mis máquinas que he montado sobre vmware:

lista de máquinas virtuales vmware Ansible con Centos
lista de máquinas virtuales vmware Ansible con Centos

Si, para los que tengan cierta agudeza visual (no es mi caso), he metido una Debian por medio.

Al meter la Debian, doy variedad a mis pruebas Ansible y por si tengo que probar algún comando mediante “apt-get install” 

En mi caso las 3 máquinas virtuales las he montado sobre VMware Workstation, pero valdría cualquier otro software como Virtualbox.

configuración de máquina centos en vmware para Ansible
configuración de máquina centos en vmware para Ansible

Como podéis apreciar, he bajado algo de disco duro, porque por defecto te pide 20 Gigas y no necesitamos tanto para una máquina CentOs virtual.

Le he incorporado dos procesadores, pero eso ya dependerá de la máquina host que tengáis vosotros.

La guía de instalación Ansible paso a paso en VMware

Os voy dejando punto a punto con su respectiva captura de pantalla para que os quede más fácil a la hora de reproducirlo desde vuestros propio laboratorio Ansible con VMWare.

  1. Creamos usuario test para todos los equipos, en mi caso centos1, centos2, centos3:

    añadir usuario test Ansible en Centos
    añadir usuario test Ansible en Centos
  2. Creamos un directorio playbooks y le damos permisos para el usuario test:

    crear directorio playbooks y permisos
    crear directorio playbooks y permisos
  3. Nos conectamos como usuario test:

    conectarse con el usuario test Ansible
    conectarse con el usuario test Ansible
  4. Generamos una llave rsa para el usuario test:
    generar una llave rsa para el usuario test Ansible
    generar una llave rsa para el usuario test Ansible

    Nota: Repetiremos el proceso para todas las máquinas del laboratorio (centos2 y centos3)

  5. Copiaremos la llave al resto de servidores:

    copiar llave rsa ssh al resto de servidores Ansible
    copiar llave rsa ssh al resto de servidores Ansible
  6. Instalamos epel-release en el caso de las máquinas Centos 7, en el resto de distribuciones no va a ser necesario.

    instalar epel release en Centos
    instalar epel release en Centos
  7. Actualizamos repolist:"<yoastmark
  8. Realizamos la actualización de nuestro repertorio:
    sudo yum update
    sudo yum update

    Nota: Haremos lo mismo para el resto de máquinas centos2 y centos3

  9. Instalamos ansible en los servidores:

    instalar ansible en los servidores centos
    instalar ansible en los servidores centos
  10. Verificamos que está instalado ansible en los servidores:"<yoastmark
  11. Verificación del directorio de ansible:"<yoastmark
  12. Repasamos ansible.cfg :

    ver y editar el contenido de configuración Ansible
    ver y editar el contenido de configuración Ansible
  13. Repasamos fichero de hosts:

    repasamos el fichero de Hosts
    repasamos el fichero de Hosts
  14. Hacemos una copia del fichero de hosts

    copia del fichero de hosts
    copia del fichero de hosts
  15. Nos creamos el fichero de hosts

    crear el fichero de hosts
    crear el fichero de hosts
  16. Adaptamos el fichero de hosts según nuestro escenario, en el video lo hace con nombres DNS, en mi caso lo he hecho por IP al ser un escenario casero:

    revisamos fichero del inventariado hosts
    revisamos fichero del inventariado hosts
  17. Si hemos habilitado logs en el fichero de configuración nos puede dar error, podemos modificar permisos:

    revisamos permisos de log ansible
    revisamos permisos de log ansible
  18. Primera prueba de que funciona correctamente:

    prueba de ping en Ansible
    prueba de ping en Ansible

Parte de verificación adicional en nuestro escenario casero de Ansible

Un comando que me gusta usar para verificar que está todo correcto y para obtener información de sistema de nuestro servidor Ansible es el siguiente comando:

[test@centos1 ansible]$ ansible localhost -m setup

Con esto, nos hará un muestreo de toda la información de sistema de nuestro servidor.

Como efectivamente, nos mostrará mucha información en pantalla, recomiendo hacer uso de los filtros. Como podría ser:

ansible local -m setup -a 'filter=ans*ipv4*'

consulta setup ansible con filtro de IPV4
consulta setup ansible con filtro de IPV4

Veréis que con el tiempo acabaréis cogiendo cierta dependencia al uso de Ansible en vuestras maquetas de sistemas que despleguéis y finalmente, ¡no entenderéis un despliegue de servicios o servidores sin el uso de Ansible!

Por cierto, como de costumbre, siempre suelo colgar en PDF el artículo para que cada uno lo lea detenidamente sin mayores despistes.

Os subo mi guía del artículo a cambio de una pequeña acción social, comparte y aparecerá automáticamente el link de descarga.

También, os doy la posibilidad de que colaboréis con vuestras ideas o aportes para mejorar el material que iré subiendo con el tiempo dentro de mis posibilidades, así que cualquier ayuda es buena.

Y por supuesto, si alguien quiere compartir en sus redes sociales favoritas como LinkedIn, Facebook, Twitter, ¡estaré encantado y agradecido! ¡Gracias de nuevo!

Mi laboratorio Ansible con VMWare Workstation
5 (100%) 7 votos

1 Comentario

Dejar respuesta

Please enter your comment!
Please enter your name here