Ansible + VMware. Crea y customiza VMs.

Ok, pues me subí al tren y decidí probar Ansible. Me sorprendió lo fácil de usar y lo poderosa que es como herramienta de automatización. Quise hacer un script, que en Ansible se llaman “playbooks”, para crear máquinas virtuales en vSphere y de paso customizar el sistema operativo, llendo mas allá de lo que se puede hacer con los perfiles de customización de vmware, al instalar Apache y mandar una notificación a Slack al momento de hacer el deploy. Pretty cool si me preguntan.

Lo primero fue hacer un template de un Ubuntu 14.04, lo único que le instalé fueron las VMware Tools, openssh-server y copié la llave SSH del host Ansible al archivo /root/.ssh/authorized_keys del Ubuntu, esto con el fin de poder administrar la nueva máquina virtual remotamente vía SSH desde el servidor de Ansible.

Otros pre-requisitos de la configuración del servidor Ansible:
– Tener instalado PySphere ( ~$ pip install -U pysphere )
– Configurar Fact Caching (http://docs.ansible.com/ansible/playbooks_variables.html#fact-caching)

Ok ok, este es el playbook …

_

Web_Client-ansible

Al terminar el script nos llega esta notificación a Slack 🙂

ansible-01

Aunque se hizo algo bastante simple como instalar Apache y cambiar el hostname, me queda claro que las posibilidades de automatizar un centro de datos con Ansible son casi infinitas, prácticamente limitado solo por la imaginación del admin. Basta revisar la documentación para ver lo que es capaz de hacer: http://docs.ansible.com/ansible/intro.html.

Espera sirva y si alguien gusta echarlo a volar, déjenme un comentario.

¡Suerte!

spotify:track:6MVXdWtPSNMlpn7BuGtCWD

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s