Introducción
vagabundo es una herramienta de código abierto que le permite crear, configurar y administrar cajas de máquinas virtuales a través de una interfaz de comandos fácil de usar. Esencialmente, es una capa de software instalada entre una herramienta de virtualización (como VirtualBox, Docker, Hyper-V) y una VM.
A menudo se usa en el desarrollo de software para garantizar que todos los miembros del equipo estén construyendo para la misma configuración. No solo comparte entornos, sino que también comparte código. Esto permite que el código de un desarrollador funcione en el sistema de otro, lo que hace posible el desarrollo colaborativo y cooperativo.
Este tutorial lo guía a través de todo lo que necesita saber sobre la configuración y administración de Vagrant.
Primeros pasos con Vagrant
Antes de comenzar, asegúrese de que ya tiene una solución de virtualización en su sistema. Las soluciones que funcionan con Vagrant incluyen VirtualBox, VMware, Docker, Hyper-V y soluciones personalizadas.
Instalación
1. Para encontrar la última versión de Vagrant, use un navegador web para navegar a su página web oficial:
https://www.vagrantup.com/downloads.html
2. Verá una lista de todos los diferentes sistemas operativos compatibles, con un paquete de 32 y 64 bits para cada uno. Descargue el archivo apropiado para su sistema operativo y luego ejecute el instalador.
3. Hay dos formas de verificar si la instalación fue exitosa:
- Puedes usar:
vagrant -v
que debería mostrar el número de versión que se ejecuta en su computadora. La última versión hasta la fecha es Vagrant 2.2.6 .
- O puede escribir el siguiente comando en la terminal:
vagrant
Esta salida le mostraría una lista de comandos de uso frecuente si la herramienta se instaló correctamente.
Configuración del Proyecto Vagrant
1. Comience creando un directorio para almacenar su archivo Vagrant:
sudo mkdir vagrant-test
cd vagrant-test
2. Descargue la distribución Ubuntu Trusty Tahr de una biblioteca común y cree un archivo Vagrant básico con:
vagrant init ubuntu/trusty64
Si lo desea, puede navegar a https://app.vagrantup.com/boxes/search y descargar un Vagrantbox de su elección.
Cuando ejecuta el init
comando, Vagrant instala el cuadro en el directorio actual. El Vagrantfile se coloca en el mismo directorio y se puede editar o copiar.
Cajas Vagabundos
La unidad básica en una configuración de Vagrant se llama "caja" o "Vagrantbox". Esta es una imagen completa e independiente de un entorno de sistema operativo.
Un Vagrant Box es un clon de una imagen base del sistema operativo. El uso de un clon acelera el proceso de lanzamiento y aprovisionamiento.
1. En lugar de usar init
comando anterior, simplemente puede descargar y agregar un cuadro con el comando:
vagrant box add ubuntu/trusty64
Esto descarga la caja y la almacena localmente.
2. A continuación, debe configurar Vagrantfile para la caja virtual que servirá. Abra el Vagrantfile con el comando:
sudo vi vagrantfile
3. Una vez que el Vagrantfile esté abierto, cambie el config.vm.box cadena de "base" a “ubuntu/trusty64” .
config.vm.box = "ubuntu/trusty64"
Puede agregar otra línea arriba del end
comando para especificar una versión de caja:
config.vm.box_version = “1.0.1”
O puede especificar una URL para vincular directamente al cuadro:
config.vm.box_url = “https://vagrantcloud.com/ubuntu/trusty64”
Si desea eliminar un cuadro, use lo siguiente:
vagrant box remove ubuntu/trusty64
Archivo vagabundo
En lugar de crear una imagen completa del sistema operativo y copiarla, Vagrant usa un "archivo Vagrant" para especificar la configuración de la caja.
Aprovisionamiento
Si gastó lo suficiente en el sistema operativo invitado, es posible que haya notado que no viene cargado con muchas aplicaciones.
Afortunadamente, Vagrant admite el aprovisionamiento automático a través de un bootstrap.sh archivo guardado en el mismo directorio que el Vagrantfile.
Para agregar un monitor de recursos básico, nmon , en el sistema operativo huésped use el comando:
sudo vi bootstrap.sh
En ese archivo, ingrese lo siguiente:
#!/usr/bin/env bash
apt-get update
apt-get install -y nmon
if ! [ -L /var/www ]; then
rm -rf /var/www
ln -fs /vagrant /var/www
fi
Guardar el archivo y salir. A continuación, edite el Vagrantfile y agregue la línea de aprovisionamiento. Debería tener el siguiente aspecto:
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.provision :shell, path: "bootstrap.sh"
end
Cuando Vagrant lee el Vagrantfile, se redirige para leer bootstrap.sh archivo que acabamos de crear. Ese archivo de arranque actualizará el administrador de paquetes, luego instalará el nmon paquete. Si usas vagrant up
y vagrant ssh
comandos, ahora debería poder ejecutar nmon para una visualización de los recursos de la máquina virtual.
El aprovisionamiento le brinda una poderosa herramienta para preconfigurar su entorno virtual. También podrías hacer lo mismo con apache2 y crea un servidor web en tu entorno virtual.
Proveedores
Este tutorial le muestra cómo usar Vagrant con VirtualBox. Sin embargo, Vagrant también puede funcionar con muchos otros proveedores de backend.
Para iniciar Vagrant usando VMware, ejecute el comando:
vagrant up –provider=vmware_fusion
O puede iniciar Vagrant usando Amazon Web Services con:
vagrant up –provider=aws
Una vez que se ejecuta el comando inicial, los comandos posteriores se aplicarán al mismo proveedor.
Lanzamiento y conexión
Vagante arriba
El comando principal para lanzar su nuevo entorno virtual es:
vagrant up
Esto ejecutará el software e iniciará un entorno virtual de Ubuntu rápidamente. Sin embargo, aunque la máquina virtual se esté ejecutando, no verá ningún resultado. Vagrant no proporciona ningún tipo de interfaz de usuario.
SSH vagabundo
Puede conectarse a su máquina virtual (y verificar que se está ejecutando) mediante una conexión SSH:
vagrant ssh
Esto abre una conexión shell segura a la nueva máquina virtual. Su símbolo del sistema cambiará a [email protected] para indicar que ha iniciado sesión en la máquina virtual.
Una vez que haya terminado de explorar la máquina virtual, puede salir de la sesión con CTRL-D . La máquina virtual seguirá ejecutándose en segundo plano, pero la conexión SSH se cerrará.
Para detener la ejecución de la máquina virtual, ingrese:
vagrant destroy
El archivo que descargó permanecerá, pero todo lo que se estaba ejecutando dentro de la máquina virtual desaparecerá.
Carpetas sincronizadas
Vagrant sincroniza automáticamente el contenido que se encuentra en el directorio de su proyecto con un directorio especial en el sistema invitado (virtual). El directorio del proyecto es el que creó anteriormente, /vagrant-test . También es el mismo que contiene el Vagrantfile.
Cuando inicia sesión en la máquina virtual, por defecto comienza en /home/vagrant/ directorio. Un directorio diferente, /vagrant/ , contiene los mismos archivos que están en su sistema host.
Puedes usar vagrant up
y vagrant ssh
para iniciar e iniciar sesión en la máquina virtual, luego cree un documento de prueba en /vagrant directorio.
Usa el exit
comando para cerrar la sesión SSH, luego use ls
para enumerar el contenido de su directorio de pruebas vagabundas. Debería mostrar el archivo de prueba que creó.
Esta es una forma práctica de administrar archivos en el sistema operativo huésped sin tener que usar una sesión SSH.
Redes
Vagrant incluye opciones para colocar su máquina virtual en una red. Al final de su Vagrantfile, justo antes del end
comando, use el config.vm.network
Comando para especificar la configuración de red.
Por ejemplo:
config.vm.network “forwarded_port”, guest: 80, host: 8080
Para que se realicen los cambios, guardar y recarga Vagrant con el comando:
vagrant reload
Esto crea un puerto reenviado para el sistema invitado. También puede definir redes privadas, redes públicas y otras opciones más avanzadas.
Compartir vagabundos
Vagrant tiene una función útil que puede usar para compartir su entorno de Vagrant mediante una URL personalizada.
Con su entorno Vagrant ejecutándose, use el siguiente comando:
vagrant share
El sistema creará una sesión de Vagrant Share y luego generará una URL. Esta URL se puede copiar y enviar a otra persona. Si tiene Apache configurado en su sesión de Vagrant, cualquiera que use esta URL puede ver su página de configuración de Apache. Esta URL cambia a medida que modifica el contenido de su carpeta compartida.
Puede cerrar la sesión compartida con CTRL-C .
Para obtener más información, consulte la documentación de Vagrant Sharing.
Limpiar vagabundo
Una vez que haya terminado de trabajar en su sistema invitado, tiene algunas opciones para finalizar la sesión.
1. Para detener la máquina y guardar su estado actual, ejecute:
vagrant suspend
Puede reanudar ejecutando vagrant up
otra vez. Esto es muy parecido a poner la máquina en modo de suspensión .
2. Para apagar la máquina virtual, use el comando:
vagrant halt
Nuevamente, vagrant up
reiniciará la misma máquina virtual y podrá continuar donde lo dejó. Esto es muy parecido a apagar una máquina normal.
3. Para eliminar todos los rastros de la máquina virtual de su sistema, escriba lo siguiente:
vagrant destroy
Se eliminará todo lo que haya guardado en la máquina virtual. Esto libera los recursos del sistema utilizados por Vagrant.
La próxima vez que vagrant up
, la máquina tendrá que ser reimportada y reaprovisionada. Esto es muy parecido a formatear un disco duro en un sistema, luego recargar una imagen nueva .