Lo admito:soy fanático de Linux. Si bien he usado Slackware en estaciones de trabajo y Red Hat Enterprise Linux (RHEL) en servidores durante años, me encanta ver cómo hacen las cosas otras distribuciones. Además, me gusta mucho probar aplicaciones y scripts que escribo en otras distribuciones para garantizar la portabilidad. De hecho, esa es una de las grandes ventajas de Linux, como yo lo veo:puedes descargar una distribución y probar tu software gratis. No puede hacer eso con un sistema operativo cerrado, al menos no sin romper un EULA o pagar para jugar, e incluso entonces, a menudo se registra para descargar varios gigabytes solo para probar una aplicación que no es más que unos pocos cientos megabytes Pero Linux es de código abierto, por lo que rara vez hay una excusa para ignorar al menos las tres o cuatro distribuciones principales, excepto que configurar una máquina virtual puede requerir muchos clics y, a veces, redes virtuales complejas. Al menos, esa solía ser la excusa hasta que Vagrant cambió el flujo de trabajo de las máquinas virtuales para los desarrolladores.
Más recursos de Linux
- Hoja de trucos de los comandos de Linux
- Hoja de trucos de comandos avanzados de Linux
- Curso en línea gratuito:Descripción general técnica de RHEL
- Hoja de trucos de red de Linux
- Hoja de trucos de SELinux
- Hoja de trucos de los comandos comunes de Linux
- ¿Qué son los contenedores de Linux?
- Nuestros últimos artículos sobre Linux
Qué es vagabundo
Vagrant es un simple administrador de máquinas virtuales para su terminal. Le permite extraer fácilmente una máquina virtual mínima y preconstruida de Internet, ejecutarla localmente y SSH en solo unos pocos pasos. Es lo más rápido que configurará una máquina virtual. Es ideal para desarrolladores web que necesitan un servidor web de prueba, programadores que necesitan probar una aplicación en todas las distribuciones y aficionados que disfrutan viendo cómo funcionan las diferentes distribuciones.
Vagrant en sí también es relativamente mínimo. No es un marco de virtualización en sí mismo. Solo administra sus máquinas virtuales ("cajas" en la terminología de Vagrant). Puede usar VirtualBox o, a través de un complemento, el proyecto ligero libvirt como backend.
Qué es libvirt
El proyecto libvirt es un conjunto de herramientas diseñado para administrar la virtualización, con soporte para KVM, QEMU, LXC y más. Puede pensar en él como una especie de API de máquina virtual, que permite a los desarrolladores escribir aplicaciones amigables que facilitan a los usuarios la orquestación de la virtualización a través de libvirt. Uso libvirt como backend para Vagrant porque es útil en varias aplicaciones, incluidos virt-manager y GNOME Boxes.
Instalando Vagrant
Puede instalar Vagrant desde vagrantup.com/downloads. Hay compilaciones disponibles para sistemas basados en Debian, sistemas basados en CentOS, macOS, Windows y más.
Para CentOS, Fedora o similar, obtiene un paquete RPM, que puede instalar con dnf
:
$ sudo dnf install ./vagrant_X.Y.ZZ_x86_64.rpm
En Debian, Linux Mint, Elementary y similares, obtiene un paquete DEB, que puede instalar con apt
:
$ sudo apt install ./vagrant_X.Y.ZZ_x86_64.deb
Instalación de libvirt y paquetes de soporte
En Linux, es posible que su distribución ya tenga libvirt instalado, pero para habilitar la integración con Vagrant también necesita algunos otros paquetes. Instálelos con su administrador de paquetes.
En Fedora, CentOS y similares:
$ sudo dnf install gcc libvirt \
libvirt-devel libxml2-devel \
make ruby-devel libguestfs-tools
En Debian, Linux Mint y similares:
$ sudo apt install build-dep vagrant ruby-libvirt \
qemu libvirt-daemon-system libvirt-clients ebtables \
dnsmasq-base libxslt-dev libxml2-dev libvirt-dev \
zlib1g-dev ruby-dev libguestfs-tools
Dependiendo de su distribución, es posible que deba iniciar libvirt
demonio:
$ sudo systemctl start libvirtd
Instalación del complemento Vagrant-libvirt
En Vagrant, libvirt se habilita a través de un complemento. Vagrant facilita la instalación de un complemento, por lo que su primer comando de Vagrant es uno que rara vez volverá a ejecutar:
$ vagrant plugin install vagrant-libvirt
Ahora que el complemento libvirt está instalado, puede comenzar a usar máquinas virtuales.
Configurando tu entorno Vagrant
Para comenzar con Vagrant, cree un directorio llamado ~/Vagrant
. Aquí es donde sus Vagrantfiles
se almacenan.
$ mkdir ~/Vagrant
En este directorio, cree un subdirectorio para representar una distribución que desea descargar. Por ejemplo, suponga que necesita un cuadro de prueba de CentOS.
Cree un directorio de CentOS y luego cámbielo:
$ mkdir ~/Vagrant/centos
$ cd ~/Vagrant/centos
Ahora necesita encontrar una máquina virtual para poder convertir el directorio que acaba de crear en un entorno Vagrant.
Encontrar una máquina virtual Vagrant
En términos generales, las cajas de Vagrant provienen de tres lugares diferentes:Hashicorp (los mantenedores de Vagrant), mantenedores de distribuciones y personas como tú y yo. Algunas imágenes son mínimas, destinadas a servir como base para la personalización. Por el contrario, otros intentan resolver una necesidad específica (por ejemplo, puede encontrar una imagen de pila LAMP lista para el desarrollo web). Puede encontrar imágenes navegando o buscando cajas en el centro principal app.vagrantup.com/boxes/search.
Para este ejemplo, busque "centos" y busque la entrada llamada generic/centos8
. Haga clic en la imagen para obtener instrucciones sobre cómo usar la máquina virtual. Las instrucciones vienen en dos variedades:
- El código que necesitas para un Vagrantfile
- El comando que necesitas para usar el cuadro desde una terminal
El último es el método más directo:
$ vagrant init generic/centos8
El init
El subcomando crea un archivo de configuración, llamado Vagrantfile, en su directorio actual, que transforma ese directorio en un entorno Vagrant. En cualquier momento, puede ver una lista de entornos Vagrant conocidos usando el global-status
subcomando:
$ vagrant global-status
id name provider state directory
-------------------------------------------
49c797f default libvirt running /home/tux/Vagrant/centos8
Inicio de una máquina virtual con Vagrant
Una vez que haya ejecutado el init
comando, puede iniciar su máquina virtual con vagrant up
:
$ vagrant up
Esto hace que Vagrant descargue la imagen de la máquina virtual si aún no existe localmente, configure una red virtual y configure su caja.
Ingresar a una máquina virtual Vagrant
Una vez que su máquina virtual esté en funcionamiento, puede iniciar sesión con vagrant ssh
:
$ vagrant ssh
box$
Te conectas a la caja que se ejecuta en tu entorno Vagrant actual. Una vez que haya iniciado sesión, puede ejecutar todos los comandos nativos de ese host. Es una máquina virtual que ejecuta su propio kernel, con hardware emulado y software común de Linux.
Dejar una máquina virtual Vagrant
Para salir de su máquina virtual Vagrant, cierre sesión en el host como normalmente sale de una computadora con Linux:
box$ exit
Alternativamente, puede apagar la máquina virtual:
box$ sudo poweroff
También puede detener la ejecución de la máquina usando el vagrant
comando:
box$ vagrant halt
Destruir una máquina virtual Vagrant
Cuando termine con una máquina virtual Vagrant, puede destruirla:
$ vagrant destroy
Alternativamente, puede eliminar una máquina virtual usando el box
global subcomando:
$ vagrant box remove generic/centos8
El vagabundo es fácil
Vagrant hace que las máquinas virtuales sean triviales, desechables y rápidas. Cuando necesite un entorno de prueba o un servidor falso para hacer ping o desarrollar, o una computadora de laboratorio limpia para experimentación o monitoreo, puede obtener uno con Vagrant. Algunas personas piensan que las máquinas virtuales no son relevantes ahora que los contenedores se han apoderado de los servidores, pero las máquinas virtuales tienen características únicas que las hacen útiles. Ejecutan su propio kernel, tienen una pila completa y única separada de la máquina host y usan hardware emulado. Cuando lo que necesita es una máquina virtual, Vagrant puede ser la mejor forma de obtenerla.