GNU/Linux >> Tutoriales Linux >  >> Linux

Tutorial de Vagrant:Primeros pasos con Vagrant en Linux

En este tutorial de Vagrant, aprenderemos sobre Vagrant, cajas de Vagrant, archivos de Vagrant, herramientas de aprovisionamiento, cómo instalar Vagrant en sistemas operativos Linux y finalmente aprenderemos algunos comandos básicos de Vagrant para crear y administrar máquinas virtuales desde la línea de comandos.

1. Introducción a Vagrant

vagabundo es un software de código abierto para construir y mantener entornos de desarrollo de software virtual. Proporciona un entorno de desarrollo limpio, fácil de configurar, reproducible y portátil. En otras palabras, Vagrant nos permite implementar de manera fácil y rápida un entorno de desarrollo de software universal que se puede usar en cualquier lugar. Vagrant simplemente elimina la excusa de "funciona en mi máquina". Porque todos trabajan en el mismo entorno con el mismo conjunto de configuración. No importa qué sistema operativo estén usando.

Vagrant se usa a menudo para configurar un entorno de trabajo idéntico y colaborativo para que los desarrolladores trabajen en un proyecto común. Aísla todas las dependencias necesarias y sus ajustes de configuración en un único entorno desechable. Cuando los otros desarrolladores crean un entorno de desarrollo con el mismo archivo de configuración, obtendrán el mismo entorno con la misma configuración.

Vagrant es una aplicación multiplataforma escrita en Ruby idioma. Es compatible con GNU/Linux, Mac OS y Microsoft Windows. Está desarrollado por Hashicorp y publicado bajo MIT licencia.

1.1. Cajas vagabundas

La "caja" es un formato y una extensión para entornos Vagrant. Las cajas vagabundas son solo las imágenes base. Pueden ser una imagen de Virtualbox o una imagen de VMware o una imagen de un proveedor de la nube como Amazon Machine Image (AMI). Podemos copiar las cajas vagabundas a cualquier otro sistema y configurar una réplica exacta del desarrollo actual.

Hay muchas cajas Vagrant preconfiguradas disponibles para descargar en Vagrant Cloud depósito público. Si no desea utilizar cajas preconfiguradas, simplemente cree una a su gusto y distribúyala a todos a través de este repositorio.

1.2. archivo vagabundo

Los requisitos del sistema operativo y del software se definen en un archivo de configuración llamado "vagrantfile". Este archivo se distribuye junto con las cajas de Vagrant. Cuando inicialice una VM con Vagrant, leerá este archivo y configurará su entorno de desarrollo en consecuencia. Por lo tanto, el propósito real de un archivo vagabundo es describir el tipo de máquina virtual y cómo configurar y aprovisionar las máquinas virtuales.

Los siguientes detalles se definen en un archivo vagabundo típico:

  • Versión del sistema operativo P. ej. Ubuntu biónico.
  • Habilitar/deshabilitar la comprobación automática de actualizaciones de casillas.
  • Configuración de red;
    • reenvío de puertos,
    • configurar una red privada (acceso de solo host a la máquina),
    • configurar la red pública (red en puente).
  • Compartir carpetas con la máquina virtual invitada.
  • Establecer proveedor preferido P. ej. caja virtual, kvm.
  • Defina la cantidad total de memoria para VM.
  • Habilite el aprovisionamiento con script de shell o herramientas de administración de configuración como Ansible.

1.3. Herramientas de aprovisionamiento

Vagrant no es una plataforma de virtualización independiente como KVM o Virtualbox. Es solo un envoltorio y un front-end que se encuentra entre un software de virtualización y una máquina virtual. Vagrant utiliza varios proveedores de servicios y herramientas de aprovisionamiento para crear y administrar los entornos de desarrollo.

Las máquinas virtuales se construyen sobre aplicaciones de virtualización populares como VirtualBox, KVM, Docker, VMware, etc., y proveedores de servicios en la nube como AWS, Azure, GCE y muchos más. Puede ver la lista completa de proveedores admitidos aquí . Vagrant viene listo para usar con soporte para VirtualBox, Hyper-V y Docker. VirtualBox es el proveedor predeterminado de Vagrant.

Una vez que se crea la máquina virtual, podemos instalar el software en ella utilizando scripts de shell simples y herramientas de administración de configuración estándar de la industria, como Ansible, CFEngine, Chef, Docker, Podman, Puppet y Salt, etc. Los usuarios también pueden personalizar la configuración de entornos virtuales según sus requisitos utilizando las herramientas de aprovisionamiento.

En pocas palabras, los proveedores (p. ej., VirtualBox, AWS) se utilizan para crear un entorno virtual y los aprovisionadores (p. ej., Ansible, Puppet) se utilizan para personalizar los entornos virtuales.

2. Instalar Vagrant en Linux

La instalación de Vagrant es increíblemente fácil y directa. Simplemente descargue la última versión de la página de descargas de Vagrant e instálela utilizando el procedimiento estándar para sus sistemas operativos. Para saber cómo instalar Vagrant en varias plataformas Linux, consulte el siguiente enlace.

  • Cómo instalar Vagrant en Linux

3. Tutorial de Vagrant - Comandos básicos de Vagrant para crear y administrar máquinas virtuales

Aquí, he dado ejemplos solo para los comandos básicos de Vagrant que necesitamos para configurar y administrar un desarrollo virtualizado. Para conocer el uso completo de Vagrant, consulte la documentación oficial que se proporciona al final.

3.1. Crear directorio de proyectos de Vagrant

Primero, necesitamos crear un directorio de proyecto.

Voy a crear un directorio llamado myvagrants para mi entorno virtual:

$ mkdir mis vagabundos

Cd en ese directorio para construir y almacenar máquinas virtuales:

$ cd myvagrants

3.2. Inicializa el entorno de Vagrant

Inicialice el entorno de Vagrant con el siguiente comando:

$ vagabundo init hashicorp/bionic64

Salida de muestra:

Se ha colocado un `Vagrantfile` en este directorio. ¡Ya está listo para 'vagar' en su primer entorno virtual! Lea los comentarios en Vagrantfile, así como la documentación en `vagrantup.com` para obtener más información sobre el uso de Vagrant.

El comando anterior inicializa el directorio actual como entorno Vagrant predeterminado y crea un archivo Vagrant base.

Puede ver el contenido del archivo vagabundo recién creado usando cat Comando y conoce los detalles de la máquina virtual que vas a construir:

$ gato Vagrantfile | menos

Cuando inicie la máquina virtual en los pasos siguientes, descargará la caja biónica de Ubuntu publicada por HashiCorp. El equipo de Vagrant también recomienda utilizar las cajas Bento . Son de código abierto y creados para proveedores populares como Virtualbox, VMWare y Parallels. HashiCorp y Bento son los dos únicos conjuntos de cajas recomendados oficialmente.

3.3. Iniciar máquina virtual

Ahora, cree e inicie la máquina virtual de acuerdo con el archivo vagabundo (que creamos en el paso anterior) usando el comando:

$ vagabundo arriba

Salida de muestra:

Trayendo la máquina 'predeterminada' con el proveedor 'virtualbox'...==> predeterminado:No se pudo encontrar la caja 'hashicorp/bionic64'. Intentando encontrar e instalar... predeterminado:Proveedor de Box:virtualbox predeterminado:Versión de Box:>=0==> predeterminado:Cargando metadatos para el cuadro 'hashicorp/bionic64' predeterminado:URL:https://vagrantcloud.com/hashicorp/ bionic64==> predeterminado:Agregar cuadro 'hashicorp/bionic64' (v1.0.282) para el proveedor:virtualbox predeterminado:Descargando:https://vagrantcloud.com/hashicorp/boxes/bionic64/versions/1.0.282/providers/virtualbox. boxDownload redirigido al host:vagrantcloud-files-production.s3.amazonaws.com==> predeterminado:cuadro agregado con éxito 'hashicorp/bionic64' (v1.0.282) para 'virtualbox'!==> predeterminado:importando el cuadro base 'hashicorp/ bionic64'...==> predeterminado:dirección MAC coincidente para red NAT...==> predeterminado:verificar si la casilla 'hashicorp/bionic64' versión '1.0.282' está actualizada...==> predeterminado:Configuración del nombre de la VM:myvagrants_default_1597837509450_67666Vagrant está actualmente configurado para crear carpetas sincronizadas de VirtualBox con la opción `SharedFoldersEnableSymlinksCreate` habilitada. Si el Vagrantguest no es de confianza, es posible que desee deshabilitar esta opción. Para obtener más información sobre esta opción, consulte el manual de VirtualBox:https://www.virtualbox.org/manual/ch04.html#sharedfoldersEsta opción se puede deshabilitar globalmente con una variable de entorno:VAGRANT_DISABLE_VBOXSYMLINKCREATE=1 o por carpeta dentro del Vagrantfile:config.vm.synced_folder '/host/path', '/guest/path', SharedFoldersEnableSymlinksCreate:false==> predeterminado:borrar cualquier interfaz de red configurada previamente...==> predeterminado:preparar interfaces de red según la configuración. .. predeterminado:Adaptador 1:nat==> predeterminado:Puertos de reenvío... predeterminado:22 (invitado) => 2222 (host) (adaptador 1)==> predeterminado:Arrancando VM...==> predeterminado:Esperando para que arranque la máquina. Esto puede tardar unos minutos... predeterminado:dirección SSH:127.0.0.1:2222 predeterminado:nombre de usuario SSH:vagrant predeterminado:método de autenticación SSH:clave privada predeterminado:Advertencia:restablecimiento de la conexión. Reintentando... predeterminado:Advertencia:Desconexión de la conexión remota. Reintentando... predeterminado:Advertencia:Desconexión de la conexión remota. Reintentando... predeterminado:predeterminado:Se detectó una clave insegura vagabunda. Vagrant reemplazará automáticamente el valor predeterminado:esto con un par de claves recién generado para una mejor seguridad. predeterminado:predeterminado:insertando la clave pública generada dentro del invitado... predeterminado:eliminando la clave no segura del invitado si está presente... predeterminado:¡clave insertada! Desconectando y volviendo a conectar usando una nueva clave SSH...==> predeterminado:¡Máquina arrancada y lista!==> predeterminado:Verificando adiciones de invitados en VM... predeterminado:Las adiciones de invitados en esta VM no coinciden con la versión predeterminada instalada :VirtualBox! En la mayoría de los casos, esto está bien, pero en casos raros puede ser predeterminado:evitar que cosas como las carpetas compartidas funcionen correctamente. Si ve por defecto:errores de carpeta compartida, asegúrese de que las adiciones de invitados dentro de la máquina virtual por defecto:coincidan con la versión de VirtualBox que ha instalado por defecto:su host y vuelva a cargar su máquina virtual. predeterminado:predeterminado:Guest Additions Versión:6.0.10 predeterminado:VirtualBox Versión:6.1==> predeterminado:Montar carpetas compartidas... predeterminado:/vagrant => /home/sk/myvagrants

El comando anterior descargará la caja biónica de Ubuntu desde la nube de Vagrant, creará una nueva máquina virtual llamada "myvagrants_default_1597837509450_67666" , agréguelo a Virtualbox e inicie la máquina virtual automáticamente.

No verá ninguna notificación aunque la máquina virtual se esté ejecutando. Para verificar si la VM se está ejecutando, abra la aplicación de virtualización (por ejemplo, VirtualBox o Virt-manager) y verifique si la VM se está ejecutando o no.

Dado que Vagrant usa Virtualbox como su proveedor predeterminado, puedo ver la VM en ejecución desde el administrador de virtualbox.

Como puede ver, Ubuntu bionic VM se ejecuta en Virtualbox.

Si usa otro proveedor, por ejemplo, Virt-manager, ábralo y verifique si la máquina Vagrant se está ejecutando.

3.4. Acceder a Máquinas Virtuales

Puede conectarse y acceder a las máquinas virtuales en ejecución mediante SSH.

Para SSH en el cuadro de Vagrant en ejecución usando el comando, ejecute:

$ vagabundo ssh

Salida de muestra:

Bienvenido a Ubuntu 18.04.3 LTS (GNU/Linux 4.15.0-58-generic x86_64) * Documentación:https://help.ubuntu.com * Gestión:https://landscape.canonical.com * Soporte:https://ubuntu.com/advantage Información del sistema al miércoles 24 de agosto a las 11:56:42 UTC 2020 Carga del sistema:0,08 Procesos:88 Uso de /:2,5 % de 61,80 GB Usuarios conectados:0 Uso de memoria:11 % IP dirección para eth0:10.0.2.15 Uso de intercambio:0% * ¿Está listo para Kubernetes 1.19? ¡Ya casi está aquí! Pruebe RC3 con sudo snap install microk8s --channel=1.19/candidate --classic https://microk8s.io/ tiene documentos y detalles.0 paquetes se pueden actualizar.0 actualizaciones son actualizaciones de seguridad.[email protected]:~$ 

3.5. Sincronizar archivos locales e invitados

Sincronización de archivos de soporte Vagrant lista para usar. De forma predeterminada, Vagrant comparte el directorio de su proyecto (el que contiene el archivo Vagrant. En mi caso, es ~/myvagrants .) al /vagrant directorio en su máquina virtual invitada.

Puede verificarlo enumerando el contenido de /vagrant directorio en su máquina virtual:

[correo electrónico protegido]:~$ ls /vagrant/Vagrantfile

Tenga en cuenta que el Vagrantfile que ve dentro de la máquina virtual es en realidad el mismo Vagrantfile que está en su máquina host real.

Para probar si la sincronización realmente funciona, cree un archivo de muestra en /vagrant directorio en su máquina invitada:

[correo electrónico protegido]:~$ toque /vagrant/test.txt

Salga de la sesión SSH de su VM:

[correo electrónico protegido]:~$ cerrar sesión

Ahora, verifique el directorio de su proyecto local en su sistema host. Verá que el mismo archivo también se crea en la máquina host.

[correo electrónico protegido]:~/myvagrants$ lsprueba.txt archivo vagabundo

3.6. Mostrar el estado de las máquinas virtuales

Para mostrar el estado de una máquina virtual en un entorno virtual, ejecute:

$ estatus de vagabundo

Salida de muestra:

Estados actuales de la máquina:ejecución predeterminada (virtualbox) La máquina virtual se está ejecutando. Para detener esta VM, puede ejecutar `vagrant halt` para apagarla a la fuerza, o puede ejecutar `vagrant suspend` para simplemente suspender la máquina virtual. En cualquier caso, para reiniciarlo de nuevo, simplemente ejecuta `vagrant up`.

Como puede ver arriba, solo tengo una VM y ahora se está ejecutando.

Si la máquina virtual está apagada, obtendrá el siguiente resultado:

Estados actuales de la máquina:apagado predeterminado (virtualbox) La máquina virtual está apagada. Para reiniciar la máquina virtual, simplemente ejecute `vagrant up`

3.7. Visualización del estado de todos los entornos virtuales

Podemos mostrar la información sobre todos los entornos virtuales conocidos en nuestro sistema usando el siguiente comando:

$ estado global vagabundo

Salida de muestra:

id directorio de estado del proveedor de nombre ------------------------------------------ -------------------------------2086482 default virtualbox poweroff /home/sk/myvagrants Lo anterior muestra información sobre todos los entornos conocidos de Vagrant. esta maquina. Estos datos se almacenan en caché y es posible que no estén completamente actualizados (utilice "vagrant global-status --prune" para eliminar las entradas no válidas). Para interactuar con cualquiera de las máquinas, puede ir a ese directorio y ejecutar Vagrant, o puede usar la ID directamente con los comandos de Vagrant desde cualquier directorio. Por ejemplo:"vagabundo destruir 1a2b3c4d"

El comando anterior enumerará la identificación de la VM, el nombre, el proveedor, el estado de la VM y el directorio del entorno virtual.

A veces, la salida puede almacenarse en caché y puede no ser correcta. Por lo tanto, ejecute el siguiente comando para eliminar las entradas no válidas y obtener el estado actualizado del entorno virtual:

$ estado global vagabundo --prune

3.8. Suspender máquinas virtuales

Para suspender una máquina virtual en ejecución, ejecute:

$ vagabundo suspender

Salida de muestra:

==> predeterminado:Guardando el estado de la VM y suspendiendo la ejecución...

3.9. Reanudar máquinas virtuales

Para reanudar una máquina virtual suspendida en el entorno virtual actual, ejecute:

$ curriculum vitae vagabundo

Salida de muestra:

==> predeterminado:reanudando la máquina virtual suspendida...==> predeterminado:iniciando la máquina virtual...==> predeterminado:esperando que la máquina arranque. Esto puede tardar unos minutos... predeterminado:dirección SSH:127.0.0.1:2222 predeterminado:nombre de usuario SSH:vagrant predeterminado:método de autenticación SSH:clave privada==> predeterminado:¡Máquina arrancada y lista!==> predeterminada:máquina ya aprovisionado Ejecute `vagrant provision` o use el indicador `--provision`==> default:para forzar el aprovisionamiento. Los aprovisionadores marcados para ejecutarse siempre seguirán ejecutándose.

3.10. Reiniciar máquinas virtuales

Para reiniciar una máquina virtual en ejecución, haga lo siguiente:

$ vagabundo recargar

Este comando apagará correctamente la máquina virtual y la iniciará de nuevo.

3.11. Detener/Apagar máquinas virtuales

Para detener o apagar una máquina virtual en ejecución, haga lo siguiente:

$ alto vagabundo

3.12. Eliminar máquinas virtuales

Para detener y eliminar todos los rastros de una VM, ejecute:

$ vagabundo destruir

Escribe y y presione ENTER para eliminar la máquina virtual.

Si desea eliminar la máquina virtual sin ninguna confirmación, ejecute:

$ vagabundo destruir -f

3.13. Restablecer máquinas virtuales

A veces, es posible que desee restablecer su máquina virtual a su estado original, sin borrar el cuadro. Esto puede ser útil para implementar un entorno virtual limpio sin tener que descargar una caja vagabunda una y otra vez.

Para restablecer una máquina virtual a su estado original, simplemente haga lo siguiente:

$ vagabundo destruir
$ vagabundo arriba

El primer comando apagará la máquina virtual en ejecución y eliminará todos los recursos asociados a ella. Y el segundo comando volverá a crear una nueva máquina virtual usando el cuadro vagabundo existente.

Para obtener más detalles, consulte el siguiente enlace:

  • Cómo restablecer la máquina virtual Vagrant al estado original

3.14. Ejecuta comandos de Vagrant desde cualquier directorio

Por lo general, iniciamos, detenemos, recargamos y eliminamos una máquina Vagrant del directorio de su proyecto, ¿verdad? ¡Sí! Sin embargo, podemos ejecutar comandos de Vagrant desde cualquier directorio usando la ID de la máquina de Vagrant.

Para encontrar la ID de la máquina Vagrant, ejecute el siguiente comando:

$ estado global vagabundo

Salida de muestra:

id directorio de estado del proveedor de nombre ------------------------------------------ ----------------------------ddc1a10 apagado predeterminado de libvirt /home/sk/Vagrant/Ubuntu2004 f4904ad apagado predeterminado de libvirt /home/sk/Vagrant/Archlinux 831f9c0 apagado predeterminado de libvirt /home/sk/Vagrant/Gentoo 3587422 apagado predeterminado de libvirt /home/sk/Vagrant/Rhel8 b2279ad apagado predeterminado de libvirt /home/sk/Vagrant/Almalinux8 Lo anterior muestra información sobre todos los entornos Vagrant conocidos en esta máquina. Estos datos se almacenan en caché y es posible que no estén completamente actualizados (utilice "vagrant global-status --prune" para eliminar las entradas no válidas). Para interactuar con cualquiera de las máquinas, puede ir a ese directorio y ejecutar Vagrant, o puede usar la ID directamente con los comandos de Vagrant desde cualquier directorio. Por ejemplo:"vagabundo destruir 1a2b3c4d"

Como puede ver en el resultado anterior, vagrant global-status El comando muestra los detalles de todos los entornos virtuales conocidos en mi sistema. La primera columna del resultado anterior muestra el ID de cada máquina Vagrant.

Puede usar la ID directamente con los comandos de Vagrant desde cualquier directorio. Por ejemplo, para iniciar una máquina Vagrant desde cualquier directorio, simplemente podemos usar:

$ vagabundo hasta b2279ad

Esto iniciará la máquina vagabunda que ID b2279ad .

Del mismo modo, también podemos usar otros comandos de Vagrant.

$ estado vagabundo b2279ad
$ vagabundo ssh b2279ad
$ vagabundo alto b2279ad
$ vagabundo destruir b2279ad

3.15. Lista de cajas Vagrant

Para enumerar todas las cajas disponibles que están instaladas con Vagrant, ejecute:

$ lista de cajas vagabundas

Salida de muestra:

hashicorp/bionic64 (caja virtual, 1.0.282)

Si desea mostrar algunos detalles adicionales del cuadro, como el nombre del autor, el sitio web, el repositorio, la descripción, etc., use -i bandera:

$ lista de cuadro vagabundo -i

Salida de muestra:

generic/alpine38 (virtualbox, 3.1.16) - Autor:Ladar Levison - Sitio web:https://roboxes.org/ - Artefactos:https://vagrantcloud.com/generic/ - Repositorio:https://github .com/lavabit/robox/ - Descripción:Imágenes básicas de máquinas virtuales, para una variedad de sistemas operativos/hipervisores, y listas para servir como bxoes base.

3.16. Comprobar si una caja de Vagrant está desactualizada

Para verificar si la casilla que está utilizando en su entorno vagabundo está desactualizada, vaya al entorno Vagrant, es decir, al directorio del proyecto,

$ cd myvagrants/

y ejecuta:

Caja de $ vagabundo desactualizada Comprobando si la casilla 'hashicorp/bionic64' versión '1.0.282' está actualizada...

3.17. Actualizar cajas Vagrant

Si hay cuadros obsoletos, puede actualizarlos como se muestra a continuación:

Actualización de $ vagrant box

Salida de muestra:

==> predeterminado:Buscando actualizaciones para 'hashicorp/bionic64' predeterminado:Última versión instalada:1.0.282 predeterminado:Restricciones de la versión:predeterminado:Proveedor:virtualbox==> predeterminado:Box 'hashicorp/bionic64' (v1.0.282 ) está ejecutando la última versión.

3.18. Descargar cajas Vagrant

El vagrant init El comando inicializa e inicia el entorno Vagrant descargando el cuadro Vagrant respectivo definido en el archivo Vagrant.

También puede descargar manualmente el cuadro Vagrant y editar su archivo vagabundo y luego iniciarlo.

Para descargar una caja de Vagrant, ejecuta:

$ cuadro vagabundo añadir bento/debian-10.5

El comando anterior descargará el cuadro de versión de Debian 10.5 publicado por Bento. Se le pedirá que elija el proveedor (por ejemplo, virtualbox o vmware) que está utilizando actualmente. Simplemente elija uno y presione ENTER para descargar el cuadro.

Salida de muestra:

==> cuadro:Cargando metadatos para el cuadro 'bento/debian-10.5' cuadro:URL:https://vagrantcloud.com/bento/debian-10.5 ¡Este cuadro puede funcionar con múltiples proveedores! Los proveedores con los que puede trabajar se enumeran a continuación. Revise la lista y elija el proveedor con el que trabajará.1) paralelos2) virtualbox3) vmware_desktopIngrese su elección:2 ==> cuadro:Agregar cuadro 'bento/debian-10.5' (v202008.16.0) para proveedor:cuadro virtualbox:Descargando:https://vagrantcloud.com/bento/boxes/debian-10.5/versions/202008.16.0/providers /virtualbox.boxDownload redirigido al host:vagrantcloud-files-production.s3.amazonaws.com==> cuadro:cuadro agregado con éxito 'bento/debian-10.5' (v202008.16.0) para 'virtualbox'

Puede verificarlo enumerando las casillas disponibles:

$ lista de cajas vagabundas

Salida de muestra:

bento/debian-10.5 (caja virtual, 202008.16.0) hashicorp/bionic64 (caja virtual, 1.0.282)

Todas las cajas de Vagrant descargadas estarán disponibles en ~/.vagrant.d/boxes directorio en su sistema host.

3.19. Ver el tamaño de las cajas Vagrant

Como se indicó en la sección anterior, las cajas de Vagrant descargadas se almacenan en ~/.vagrant.d/boxes directorio.

Puede ver la lista de todas las cajas descargadas en este directorio usando el comando:

$ ls ~/.vagrant.d/boxes almacenamiento 

Para encontrar el tamaño de cajas Vagrant individuales, use du comando con -h marca como a continuación:

589M /home/sk/.vagrant.d/boxes/archlinux-VAGRANTSLASH-archlinux/20210601.24453/libvirt589M /home/sk/.vagrant.d/boxes/archlinux-VAGRANTSLASH-archlinux/20210601.24453589M /home/sk/ .vagrant.d/boxes/archlinux-VAGRANTSLASH-archlinux1.1G /home/sk/.vagrant.d/boxes/generic-VAGRANTSLASH-rhel8/3.3.2/libvirt1.1G /home/sk/.vagrant.d/boxes /generic-VAGRANTSLASH-rhel8/3.3.21.1G /home/sk/.vagrant.d/boxes/generic-VAGRANTSLASH-rhel81.6G /home/sk/.vagrant.d/boxes/generic-VAGRANTSLASH-gentoo/3.2. 24/libvirt1.6G /home/sk/.vagrant.d/boxes/generic-VAGRANTSLASH-gentoo/3.2.241.6G /home/sk/.vagrant.d/boxes/generic-VAGRANTSLASH-gentoo1.6G /home/sk /.vagrant.d/boxes/centos-VAGRANTSLASH-8/2011.0/libvirt1.6G /home/sk/.vagrant.d/boxes/centos-VAGRANTSLASH-8/2011.01.6G /home/sk/.vagrant.d/ boxes/centos-VAGRANTSLASH-8998M /home/sk/.vagrant.d/boxes/generic-VAGRANTSLASH-debian10/3.3.4/libvirt998M /home/sk/.vagrant.d/boxes/generic-VAGRANTSLASH-debian10/3.3. 4998M /home/sk/.vagrant.d/boxes/generic-VAGRANTSLASH-debian10628 M /home/sk/.vagrant.d/boxes/almalinux-VAGRANTSLASH-8/8.4.20210724/libvirt628M /home/sk/.vagrant.d/boxes/almalinux-VAGRANTSLASH-8/8.4.20210724629M /home/sk/ .vagrant.d/boxes/almalinux-VAGRANTSLASH-86.4G /home/sk/.vagrant.d/boxes

Para ver el uso resumido total, ejecute:

$ du -sh ~/.vagrant.d/boxes 6.4G /home/sk/.vagrant.d/cajas

3.20. Agregue el archivo .box descargado a vagabundo

Muchas distribuciones de Linux se distribuyen a través de cajas Vagrant preconfiguradas. Para que pueda tomar rápidamente el cuadro vagabundo y ejecutarlo usando la aplicación de virtualización respectiva. Para obtener más detalles, consulte la siguiente guía:

  • Cómo agregar un archivo .box descargado a Vagrant en Linux

3.21. Cree una máquina virtual usando el cuadro Vagrant

Para crear una nueva VM con el cuadro recién descargado, vaya al directorio de su proyecto e inicialice el entorno vagabundo con el comando:

$ inicio vagabundo

Aviso :Elimine el archivo Vagrant existente antes de inicializar un nuevo entorno Vagrant.

Esto creará un nuevo Vagrantfile en el directorio actual.

Edite el archivo Vagrant y actualice los detalles de la VM y reemplace la siguiente línea:

Vagrant.configure("2") do |config|[...]config.vm.box ="base" [...]

con lo siguiente:

config.vm.box ="bento/debian-10.5"

Puede especificar explícitamente la versión de la nueva máquina virtual agregando las siguientes líneas:

config.vm.box ="bento/debian-10.5"config.vm.box_version ="1.0"

Incluso puede especificar la URL de descarga:

config.vm.box ="bento/debian-10.5"config.vm.box_version ="1.0"config.vm.box_url ="https://app.vagrantup.com/bento/boxes/debian-10.5/ "

Ahora, cree e inicie la máquina virtual basada en este Vagrantfile con el comando:

$ vagabundo arriba

Alternativamente, puede mencionar directamente el nombre del cuadro al inicializar el entorno de Vagrant. Esto puede ser útil si tiene más de una caja vagabunda.

Primero, enumere las cajas vagabundas disponibles usando el comando:

$ lista de cajas vagabundas 

Salida de muestra:

Fedora33 (libvirt, 0)archlinux/archlinux (virtualbox, 20201201.10292)fedora33 (virtualbox, 0)generic/alpine38 (virtualbox, 3.1.16)oraclelinux/7 (virtualbox, 7.9.184)oraclelinux/8 (libvirt, 8.3 .183)

Indíquenos si desea crear una máquina virtual a partir de un cuadro llamado "generic/alpine38". Para hacerlo, simplemente ejecute:

$ init vagabundo genérico/alpine38

Este comando creará un nuevo Vagrantfile e inicializará el entorno de Vagrant con la configuración de caja dada. No es necesario editar manualmente Vagrantfile y actualizar los detalles de la casilla.

Luego, inicie la máquina virtual usando el comando:

$ vagabundo arriba

3.22. Use Vagrant con el proveedor KVM de Libvirt

Como ya dije, Vagrant usa Virtualbox para ejecutar máquinas virtuales de forma predeterminada. También es posible decirle a Vagrant que use otro proveedor, por ejemplo, Libvirt KVM , para ejecutar máquinas virtuales usando vagrant-libvirt enchufar. Este complemento agrega el proveedor de Libvirt a Vagrant y permite que Vagrant controle y aprovisione máquinas a través de Libvirt. Para aprender a usar libvirt como proveedor de Vagrant, consulte la siguiente guía:

  • Cómo usar Vagrant con el proveedor KVM de Libvirt

3.23. Configurar redes en Vagrant

Para proporcionar acceso a la red entre las máquinas invitadas y el sistema host, Vagrant ofrece las siguientes tres opciones:

  1. Reenvío de puertos
  2. Red privada (red de solo host)
  3. Red pública (red en puente)

Cada opción tiene sus propios altibajos. Puede configurar una o todas las opciones de red de Vagrant como se describe en la siguiente guía:

  • Cómo configurar redes en Vagrant

3.24. Encuentre la dirección IP de la máquina Vagrant del sistema host

Para encontrar la dirección IP de una máquina Vagrant, generalmente ingresamos a ella y encontramos su dirección IP usando ip o ifconfig comandos También podemos obtener directamente la dirección IP de una máquina Vagrant en ejecución desde el host, como se describe en el siguiente enlace:

  • Cómo encontrar la dirección IP de una máquina vagabunda del host

3.25. Aumente la memoria y la CPU en la máquina Vagrant

¿Tiene problemas de rendimiento con su máquina Vagrant? Probablemente se deba a una memoria o CPU insuficientes. Simplemente agregue más RAM y núcleo de CPU a la máquina Vagrant para mejorar su rendimiento como se muestra en el siguiente enlace.

  • Cómo aumentar la memoria y la CPU en una máquina Vagrant

3.26. Eliminar las cajas de Vagrant obsoletas

¡Es posible que haya descargado varias versiones de las cajas de Vagrant y algunas de ellas pueden estar bastante desactualizadas! Si ya no son necesarios, puede eliminar de forma segura las versiones anteriores de las cajas Vagrant instaladas como se describe en el siguiente enlace.

  • Cómo eliminar cajas vagabundas obsoletas en Linux

3.27. Eliminar cajas Vagrant permanentemente

Para eliminar un cuadro vagabundo, por ejemplo, hashicorp/bionic64, ejecute:

$ cuadro vagabundo eliminar hashicorp/bionic64

Escribe y y presiona ENTER para confirmar la eliminación:

El cuadro 'hashicorp/bionic64' (v1.0.282) con el proveedor 'virtualbox' parece estar todavía en uso por al menos un entorno de Vagrant. Quitar la caja podría corromper el medio ambiente. Recomendamos destruir estos entornos primero:predeterminado (ID:20864823c72f45568d251070b5ce2661) ¿Está seguro de que desea eliminar este cuadro? [s/n]  Eliminando el cuadro 'hashicorp/bionic64' (v1.0.282) con el proveedor 'virtualbox'…

Si no sabe el nombre de la caja, simplemente ejecute el siguiente comando para enumerar todas las cajas instaladas:

$ lista de cajas vagabundas

En esta etapa, debería haber aprendido los conceptos básicos del uso de Vagrant. Vagrant es un tema amplio e intentaré cubrir todo lo que pueda en nuestros próximos artículos. ¡Estén atentos!

4. Solución de problemas de vagabundos

Esta sección aborda algunos problemas comunes de Vagrant.

4.1. Vagrant no pudo inicializarse en una etapa muy temprana

¿Su máquina Vagrant no pudo iniciarse? ¡No hay problema! Este es uno de los problemas comunes de los vagabundos. Esto podría deberse a complementos obsoletos o el directorio HOME de Vagrant puede haberse movido a una ubicación diferente. Para solucionar este problema, consulte la siguiente guía:

  • Cómo solucionar el error "Vagrant no se pudo inicializar en una etapa muy temprana" en Linux

4.2. No se puede acceder al archivo de almacenamiento, Permiso denegado Error en KVM Libvirt

Algunas veces, es posible que no inicie una máquina Vagrant y termine con un error parecido a este:Failed to start domain 'Archlinux_default' error: Cannot access storage file '/home/sk/.local/share/libvirt/images/Archlinux_default.img' (as uid:107, gid:107): Permission denied .

Este error suele ocurrir cuando qemu el usuario no tiene permiso de lectura en el directorio de almacenamiento de Libvirt. Para solucionar este problema, consulte la siguiente guía:

  • [Resuelto] No se puede acceder al archivo de almacenamiento, Permiso denegado Error en KVM Libvirt

5. Conclusión

En esta guía completa, aprendimos qué es Vagrant y las terminologías de Vagrant, como cajas de Vagrant, archivos de Vagrant y herramientas de aprovisionamiento. También aprendimos cómo instalar Vagrant en sistemas operativos Linux y, finalmente, discutimos algunos comandos básicos de Vagrant para crear y administrar máquinas virtuales desde la línea de comandos en Linux.

Si eres ingeniero DevOps, saber cómo usar Vagrant te será muy útil. Vagrant es una de las herramientas importantes que debe tener en su sistema.


Linux
  1. Introducción a los cortafuegos de Linux

  2. Primeros pasos con el comando tac de Linux

  3. Comenzando con PiFlash:Arrancando su Raspberry Pi en Linux

  4. Primeros pasos con el comando cat de Linux

  5. Primeros pasos con SSH en Linux

Primeros pasos con el sistema operativo Linux

Tutorial de Docker:Primeros pasos con Docker en Linux

Primeros pasos con Docker Compose en Linux

Comenzando con VirtualBox en Linux – Parte 1

Primeros pasos con Vagrant y VirtualBox – Parte 1

Primeros pasos con Flutter en el escritorio de Linux