Logotipo de Orbis Sapientia Elearning Services

Servicios de formación. Especialistas en E-learning.

Introducción a Vagrant

Introducción a Vagrant

Con esta “Introducción a Vagrant” vamos a comenzar a conocer una herramienta muy completa aunque compleja. Muy útil para administradores y otros, opino que en el área de desarrollo es donde más partido podemos sacarle.

Introducción a Vagrant

¿Qué es Vagrant?

Básicamente es un gestor de máquinas virtuales. Puede crear máquinas virtuales para diferentes herramientas de virtualización como VirtualBox , VMWare , etc.

Es necesario insistir y dejar claro que las máquinas virtuales gestionadas por Vagrant, deben ejecutarse en algún software como VirtualBox. De hecho, al ser Vagrant una herramienta de línea de comandos, puede definirse como un terminal para VirtualBox y similares.

Gracias a estas máquinas virtuales de muy alto aislamiento, podemos crear entornos de desarrollo, de pruebas de herramientas, etc., que no interferirán con los sistemas ya existentes que tengamos. ¿Necesitamos probar la nueva versión de Liferay? Creamos una máquina virtual con Vagrant. Sin embargo, cuidado, nunca usaremos Vagrant en un entorno de producción.

En el mundo de los DevOps que tan de moda está hoy día, Vagrant debería ser un “must”.

Obtener Vagrant

Siguiendo con la entrada, lo siguiente sería obtener Vagrant. Para ello, disponemos de varios paquetes que podemos descargar en https://www.vagrantup.com/downloads.html .

Igualmente, en el caso de usar sistema basados en Debian, podemos trabajar con el gestor de paquetes Advanced Packaging Tool para obtener Vagrant.

Instalar Vagrant

En primer lugar nos aseguraremos tener instalado un software de virtualización. Recomiendo VirtualBox porque es con el que más tiempo lleva trabajando Vagrant y porque es libre.

Procedemos después a instalar Vagrant con el paquete de instalación descargado de nuestra elección o, utilizando algún gestor de paquetes como Advanced Packaging Tool. He aquí un ejemplo con ésta última opción:

Boxes

Los boxes son máquinas virtuales preconfiguradas de Vagrant que podemos obtener y de esta forma ahorrarnos trabajo. En el momento de escribir este artículo, los boxes podemos obtenerlos de sitios como este: https://app.vagrantup.com/boxes/search . También es muy conocido este otro: http://www.vagrantbox.es/ .

Cada box, lleva asociado un identificador único que podemos usar en un fichero Vagrant (Vagrant file) de configuración para automatizar la obtención de la máquina virtual preconfigurada. Ejemplo:

Iniciar la máquina virtual

Una vez que tenemos una máquina virtual o box tenemos que iniciarla para utilizarla. Para inicializar el box del ejemplo de Ubuntu 18:

Siguiendo el ejemplo del box de Laravel, lo inicializaríamos así:

Ejecutar la máquina virtual

Para ejecutar un box lo habremos inicializado antes. Después simplemente ejecutamos el box inicializado en ese momento:

En realidad, este comando ejecuta el llamado Vagrantfile y que he mencionado antes en un ejemplo.

Trabajar con la máquina virtual

Para operar con la máquina virtual arrancada, usaremos SSH:

Comandos relacionados con parar la máquina virtual

Para suspender, parar o destruir la máquina virtual:

Es interesante el comando suspend porque para la máquina virtual, guardando el estado en que se encuentra en ese momento. Cuando se vuelve a arrancar, lo hace a partir de ese punto.

El fichero Vagrantfile

El fichero Vagrantfile es un fichero de texto cuyo contenido debe ser sintaxis del lenguaje Ruby. Sin embargo, no es necesario conocer este lenguaje para utilizarlo. Lo normal es que especifiquemos en él:

– El software de virtualización a utilizar (VirtualBox por defecto).
– El box que sirve de base para la nueva máquina virtual.
– La configuración de la máquina virtual.
– Los comandos que se ejecutarán en la máquina virtual nada más arrancar.

Como a pesar de todo, puede ser bastante complejo, es frecuente utilizar init sin parámetros para que nos cree un fichero de base con bastante contenido comentado del que partir:

Por supuesto que este fichero, utilice sintaxis Ruby y que sepamos como trabaja, lo puede potenciar especialmente.

Editado
Disculpad todos: se me olvidaba indicar la URL de la documentación oficial que, por otro lado, es imprescindible: https://www.vagrantup.com/docs/index.html .

Conclusión

Vagrant es una excelente herramienta con multitud de posibilidades multisistema, llevando su complejidad según deseemos o necesitemos profundizar. Y como habréis deducido esto simplemente es lo que indica el título de este artículo: “Introducción a Vagrant”.

Nada más, un cordial saludo y hasta otra.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

";}
X