GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo uso Vagrant con libvirt

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.


Linux
  1. Cómo usar BusyBox en Linux

  2. Cómo uso cron en Linux

  3. Cómo usar el comando Hexdump de Linux con ejemplos prácticos

  4. Cómo eliminar un uso no root con UID 0 en Linux

  5. Cómo usar la exportación con Python en Linux

Cómo usar el comando who en Linux con ejemplos

Comando alias de Linux:cómo usarlo con ejemplos

Cómo usar el comando gunzip de Linux con ejemplos

Cómo usar el comando rm de Linux con ejemplos

Cómo usar Vagrant con el proveedor KVM de Libvirt

Cómo usar el comando de suspensión en Linux:explicado con ejemplos