Mostrando entradas con la etiqueta vagrant. Mostrar todas las entradas
Mostrando entradas con la etiqueta vagrant. Mostrar todas las entradas

Vagrant: Instalación y primeros pasos

Esta entrada la tenía pendiente desde que el otro día hablé con +Susana López Barreras sobre el tema. Así que por fin me decidí terminarla y publicarla. Servirá para ella y para más gente, espero.

¿Qué es Vagrant?

Vagrant es una herramienta pensada para facilitar la creación y configuración automática de entornos de desarrollo virtualizados. Aunque en sus orígines únicamente se podía usar con VirtualBox, actualmente ya es capaz de desplegar máquinas en sistemas como VMware, Amazon EC2, etc. La gran ventaja es que trabaja de la mano directamente con herramientas de centralización de configuraciones, tales como Puppet o SaltStack, de las que hablamos aquí en más de una ocasión. Es gracias a esta perfecta combinación donde reside el verdadero poder de Vagrant.

Instalación

Vagrant está disponible en los repositorios de la mayoría de distribuciones, pero yo personalmente recomiendo bajar el paquete desde la web oficial, Vagrantup.com, para disponer así de la última versión. Compensa tener la versión de la web oficial, ya que tiene importantes mejoras. Así que nos dirigimos a la parte de descargas y seleccionamos el sistema operativo que tengamos y lo descargamos. Yo personalmente me bajo la de Debian 64 ;-)
shell> wget https://dl.bintray.com/.../vagrant_1.6.5
Una vez la tenemos, simplemente instalamos el nuevo paquete,
shell> dpkg -i vagrant_1.6.5_x86_64.deb
Y desde este momento ya disponemos de Vagrant instalado en el sistema. Crear una nueva instancia de una máquina virtual a partir de ahora será muy sencillo y trivial.

Uso de Vagrant

Efectivamente, Vagrant, si no se emplea con SaltStack o Puppet, no es más que una forma diferente de crear máquinas virtuales en VirtualBox, por decirlo de forma sencilla. Aun así, es una forma muy cómoda, pues no necesitas realizar ningún tipo de instalación. Esta es la primero ventaja que tiene Vagrant. Si necesitas una máquina con un determinado sistema operativos, ya no es necesario descargar la ISO e instalarla, desde Vagrant es más sencillo.

Crear nueva máquina

shell> vagrant init
 A `Vagrantfile` has been placed in this directory. You are now
 ready to `vagrant up` your first virtual environment! Please read
 the comments in the Vagrantfile as well as documentation on
 `vagrantup.com` for more information on using Vagrant.
A continuación editamos dicho fichero (/tmp/Vagrantfile),
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
   config.vm.box = "ubuntu/precise64"
end
Dejándolo tal y como se muestra anteriormente. A continuación, simplemente,
shell> vagrant up
 Bringing machine 'default' up with 'virtualbox' provider...
  ==> default: Importing base box 'ubuntu/precise64'...
  ==> default: Matching MAC address for NAT networking...
  ...
Este comando hará todo lo necesario. Es decir, se descargará la pre-imagen de la máquina precise64 si fuese necesario, creará una nueva instancia de la máquina en VirtualBox (por defecto) y la arrancará. Para acceder a ella,
shell> vagrant ssh

Welcome to Ubuntu 12.04.5 LTS (GNU/Linux 3.2.0-72-virtual)
...

vagrant@vagrant-ubuntu-precise-64:~$
Si necesitas otra máquina, cual sea, simplemente editas el fichero y la creas. Sin complicaciones. Existen multitud de máquinas libres para descarga en vagrantcloud.

Destruir máquina

La ventaja de Vagrant y que veremos en próximas entradas es el poder de la auto-creación, pero por el momento, si tras levantar tu máquina virtual y trabajar con ella varios días, finalizaste el trabajo y ya no quieres que te ocupe espacio, simplemente,
shell> vagrant destroy
 Are you sure you want to destroy the 'default' VM? [y/N] y
  ==> default: Forcing shutdown of VM...
  ==> default: Destroying VM and associated drives...

Más

Como era de esperar, puedes apagarla, volver a levantarla, suspenderla y un largo etcétera de funcionalidades, según lo que aporte el sistema de virtualización que emplees.
Leer más

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios