Post Top Ad

Your Ad Spot

lunes, 27 de julio de 2020

Introducción a VirtualBox y Vagrant

Comencemos con VirtualBox y Vagrant para crear entornos de desarrollo. Esta es una advertencia justa: si decide aventurarse por este camino, definitivamente está entrando en el mundo completo conocido por los hackers como DevOps. DevOps es donde los sueños van a morir. Aquí en Vegibit, hemos tendido a centrarnos en los aspectos divertidos del desarrollo web. Cosas como crear HTML, programar PHP, programar JavaScript y jQuery, diseñar diseños y jugar con frameworks completos como Laravel, Yii y Codeigniter. DevOps es un juego de pelota completamente diferente. Gran parte de este conocimiento es el precursor para comenzar a trabajar con Laravel Homestead. Sin embargo, si eres nuevo en VirtualBox o Vagrant, hazte un favor y saltea la granja por ahora. Aprenda lo básico primero, pronto verá por qué.


¿Qué es DevOps?

Piensa en DevOps como este. Desea crear un sitio web, pero sabe que hay bastantes pasos. Puede parecer algo como esto.

Objetivo: desarrollar un sitio web.

  • 1. Elige el idioma.
  • 2. Elija el tipo de servidor.
  • 3. Elija el marco de back-end.
  • 4. Elija el marco frontend.
  • ...
  • 50. Escribe algo de HTML.

Como puede ver, tenemos muchos pasos para crear un sitio web, ¡y la mayoría de ellos ni siquiera tienen que ver con la creación del sitio! Bueno, la gente de DevOps es responsable de los pasos 1 a 49. De hecho, en el escenario más probable, y especialmente si trabajas para alguien que no entiende estas cosas, o eres un fenómeno independiente de una persona, DevOps es simplemente parte de qué haces como desarrollador web. Guau. ¿No estás contento de haber decidido entrar en sitios web en desarrollo?


La virtualización es una inversión

Toda esta tecnología gira en torno a la virtualización. La virtualización es la palabra de moda de nuestra generación, y aparentemente todo en informática puede virtualizarse. Se han creado nuevos negocios y paradigmas enteros gracias a la virtualización. Piense en cosas como VMWare, instancias EC2, hosting AWS, Rackspace Hosting, o incluso cosas como VoIP alojado, o varias ofertas de software SAAS empresarial como servicio. Todas estas cosas se ejecutan como máquinas virtualizadas que se ejecutan en la nubeLa virtualización es buena para la consolidación de la infraestructura, las pruebas, la recuperación ante desastres y la ejecución de varios sistemas operativos en la misma máquina al mismo tiempo. Las carreras completas se basan en nada más que ser un experto en virtualización, por lo que si algo de esto parece un poco abrumador al principio, no hay necesidad de preocuparse. Aprender estas cosas requiere una gran inversión de tiempo, y para llegar a ser bueno en estas cosas requiere la inversión inicial, y luego la práctica continua con el uso diario en su flujo de trabajo. Esperemos que esta guía introductoria de virtualización, VirtualBox y Vagrant le ayude con esto. Para obtener una descripción más completa de la virtualización, consulte el Manual de VirtualBox para obtener información excelente.


¡Cuidado con los sistemas operativos VirtualBox y Windows!

Ahora vamos a poner goma en la carretera. Realmente vamos a comenzar a instalar todo esto en un nuevo Lenovo T440s con unidades SSD, mucha memoria y ciclos de CPU, Windows 7 y todos los detalles. Básicamente, un ultrabook realmente agradable, o la versión WinTel de algo así como un Macbook Pro. Con tal hardware en su lugar, ¿qué podría salir mal?

La matriz

Entonces, ¿qué tiene que ver la matriz con esto? Bueno, si recuerdas (y si no has visto The Matrix, deja de leer ahora) en Matrix original, Neo tiene la oportunidad de descubrir qué es real y qué es una ilusión. La ilusión, por supuesto, es Matrix, nada más que un mundo virtual creado por máquinas. Neo puede elegir entre una pastilla roja o una azulEl azul es la feliz ignorancia de la ilusión, mientras que el rojo es la dolorosa verdad de la realidad. Al comenzar con Virtualization, VirtualBox y Vagrant, es posible que se enfrente a una opción similar. Para mí, la virtualización me pareció maravillosa y tentadora. Sin embargo, como en Matrix, sabía que algo simplemente no se sentía bien. Esto es lo que me hizo decidir que era hora de tomar la píldora roja y descubrir qué hay realmente detrás de la cortina de virtualización.

La historia de virtualización de la píldora azul

La versión de la píldora azul de configurar estas herramientas es realmente una historia maravillosa, aunque sea una ilusión. Es algo parecido a esto.

“¡Todo lo que tiene que hacer es instalar VirtualBox y Vagrant en su máquina! ¡Es tan increíble! ¡Ahora tenemos los entornos de desarrollo ideales! Ok, ¿instalaste Vagrant? ¡Todo lo que tienes que hacer es escribir vagrant upy tu vida ahora es perfecta!

¡Santo cielo! ¡Necesito tener en mis manos esta combinación Vagrant VirtualBox de la que hablas! ¡No puedo esperar para comenzar!

La píldora roja de la virtualización

Amigo, ahora trabajas en DevOps. No trabajas en Ventas y Marketing donde se hacen promesas y la vida es perfecta. No, como buen técnico, siempre optas por la píldora roja. Debes enfrentar la dolorosa realidad y la verdad de hacer que las cosas desarticuladas funcionen todos los días. Siempre hay problemas Inconsistencias Loco. Software Beta Software viejo, que todavía apesta. Hardware con poca potencia. No importa, ya que usted es el Macgyver moderno de DevOps, convirtiendo ideas terribles sin fondos en activos funcionales maravillosos para la empresa. Usted es un héroe. Con eso en mente, ahora exploraremos la dolorosa verdad de hacer que las cosas funcionen.

Instalar Virtual Box

Ok, primero parece que necesitamos una copia de virtualBox. Parece que podemos hacerlo aquí , así que hagámoslo. En el momento de escribir esto, parece que 4.3.20 es la compilación actual. Nosotros iremos con eso.

Instalar Git con Git Bash

Vamos a necesitar crear una clave SSH, así como un buen terminal para trabajar. Git Bash es perfecto para esto, y todo lo que tenemos que hacer es visitar este sitio para descargarlo ahora.

Instalar Vagabundo

Ahora podemos instalar la gran herramienta Vagrant. Simplemente visite su sección de descargas y descargue el instalador.

Ejecutando los instaladores

Si hay algo que no puedo soportar, está agregando un nuevo software a una PC nueva, súper rápida y limpia. Conoces el sentimiento, "¿se va a romper algo? ¿Se ralentizarán las cosas? ¿Se romperá algo que no conozco, solo para descubrir algún tipo de problema semanas después que afecte mi trabajo diario? No importa. Debemos avanzar frente al miedo. Ejecute todos los paquetes de instalador de software enumerados anteriormente y muévase valientemente al mundo Virtualización por usted mismo.

El infierno comienza
Bien, en este punto, probablemente necesitemos reiniciar la PC. Uno o más de los instaladores anteriores lo solicitan, así que hagámoslo ahora. Cierre todos los programas abiertos, guarde los archivos abiertos, reinicie.

Perfecto. Estamos de vuelta. Ahora podemos simplemente escribir dos comandos en el terminal de acuerdo con la documentación , y estamos listos para comenzar. En primer lugar, ¿qué terminal? ¿Es este el símbolo del sistema de Windows? ¿Estamos usando masilla para esto? ¿Qué hay de Git Bash? Para esto, queremos usar Git Bash. Encuentre el programa en su lista de programas instalados y ejecútelo. Ahora, suponiendo que haya colocado su instalación de Vagrant C:vagrant, querremos crear un CD en ese directorio desde Git Bash.

$ cd c:/vagrant

Ahora ejecutemos esos comandos.

$ vagrant init hashicorp/precise32

Vagrantfilese ha colocado en este directorio. ¡Ahora está
listo para vagrant upsu primer entorno virtual! Lea
los comentarios en el archivo Vagrant y la documentación
vagrantup.compara obtener más información sobre el uso de Vagrant.

Se ve bien. Probemos el vagabundo infamemente fácil.

$ vagrant up

Trayendo la máquina 'predeterminada' con el proveedor 'virtualbox' ...
==> predeterminada: Importando la caja base 'hashicorp / precise32' ...
==> predeterminada: Dirección MAC coincidente para la red NAT ...
==> predeterminada: Comprobando si la casilla 'hashicorp / precise32 'está actualizado ...
==> predeterminado: Configuración del nombre de la VM: vagrant_default_1419987513948_16273
==> predeterminado: Borrado de las interfaces de red configuradas previamente ...
==> predeterminado: Preparación de interfaces de red basadas en la configuración ...
predeterminado: Adaptador 1: nat
= => predeterminado: puertos de reenvío ...
predeterminado: 22 => 2222 (adaptador 1)
==> predeterminado: arranque VM ...

Han pasado cinco minutos. ¿Se supone que debe permanecer en Booting VM por tanto tiempo? Oh, espera, aquí hay un buen mensaje de error.

¡Actualiza The Bios!

Ah ja! Debo haber olvidado actualizar la BIOS en esta PC con Windows. Mencionó en algún lugar u otro que podríamos necesitar habilitar la virtualización en la BIOS. ¿Cómo hacemos eso de nuevo? No me meto con la biografía muy a menudo. Ah, sí, reiniciemos y sigamos tocando la tecla Intro hasta que escuchemos pitidos que indiquen que hemos detenido el proceso de arranque normal. Perfecto, ahora elija F1 para la configuración de la BIOS, flecha hacia la derecha varias veces hasta que lleguemos al menú de seguridad, flecha hacia abajo hasta llegar a la virtualización, luego elija F10 para guardar y arrancar.

¡Si! No puedo esperar para probar mi nueva virtualización. Ahora que hemos reiniciado, intentemos nuestro vagabundo nuevamente.

$ vagrant up

Trayendo la máquina 'predeterminada' con el proveedor 'virtualbox' ...
==> predeterminada: Importando la caja base 'hashicorp / precise32' ...
==> predeterminada: Dirección MAC coincidente para la red NAT ...
==> predeterminada: Comprobando si la casilla 'hashicorp / precise32 'está actualizado ...
==> predeterminado: Configuración del nombre de la VM: vagrant_default_1419987513948_16273
==> predeterminado: Borrado de las interfaces de red configuradas previamente ...
==> predeterminado: Preparación de interfaces de red basadas en la configuración ...
predeterminado: Adaptador 1: nat
= => predeterminado: puertos de reenvío ...
predeterminado: 22 => 2222 (adaptador 1)
==> predeterminado: arranque VM ...

Twiddling Thumbs. Hmm, seguro que parece que todavía lleva mucho tiempo. Oh espera, aquí vamos, más mensajes de error. Parece que son lo mismo que antes. ¿Que? ¿Qué está mal? Oh, espera, noté que había dos opciones para la virtualización en la BIOS. Hubo tecnología de virtualización Intel R y la función Intel R VT-d. Solo habilitamos el primero. Habilitemos el segundo por si acaso, quiero decir, ¿qué más podría estar yendo mal? Ok, guarde todos los archivos abiertos, cierre los programas abiertos, reinicie la PC ...

Estamos comenzando a arrancar, ¡presiona ese botón de retorno varias veces! Ahora escuchamos pitidos: el proceso de arranque se detiene. Modifiquemos la BIOS nuevamente. Presione F1, flecha hacia Seguridad, flecha hacia abajo hacia Virtualización, esta vez elija la Función Intel R VT-d y configúrelo como habilitado. Seleccione F10 para guardar y arrancar. Perfecto. Un par de contratiempos, pero estamos en camino a la virtualización Nirvana.

Y estamos de vuelta. Sigamos adelante e intentemos un vagabundo una vez más.

$ vagrant up

Trayendo la máquina 'predeterminada' con el proveedor 'virtualbox' ...
==> predeterminada: Importando la caja base 'hashicorp / precise32' ...
==> predeterminada: Dirección MAC coincidente para la red NAT ...
==> predeterminada: Comprobando si la casilla 'hashicorp / precise32 'está actualizado ...
==> predeterminado: Configuración del nombre de la VM: vagrant_default_1419987513948_16273
==> predeterminado: Borrado de las interfaces de red configuradas previamente ...
==> predeterminado: Preparación de interfaces de red basadas en la configuración ...
predeterminado: Adaptador 1: nat
= => predeterminado: puertos de reenvío ...
predeterminado: 22 => 2222 (adaptador 1)
==> predeterminado: arranque VM ...

Todavía un poco lento aquí. Hombre, estas máquinas virtuales tardan mucho en arrancar. ¿QUÉ ES EL 3UC! @… ¡¿QUÉ HAY CON ESTOS MENSAJES DE ERROR ?!

Proceder a Google. Google todo lo relacionado con máquinas virtuales que no se inician usando VirtualBox y Vagrant.

Ah, ja, puedo haber visto algo. Parece que esas Microsofties cometieron un error. Parece que hay una actualización que lanzaron, KB3004394, que rompe un montón de cosas, y esta es una de ellas. Afortunadamente, han lanzado un parche para solucionar este problema aquí . Increíble. Sin daño, sin falta. Hemos tenido algunos problemas, pero si solo instalamos este pequeño y agradable parche de Windows, finalmente podremos ponernos en marcha con Vagrant y VirtualBox en nuestro Windows Box. Ok, descargamos la actualización como un ejecutable .exe y lo ejecutamos. Hmm, eso fue fácil, realmente no pasó nada. Bueno, está instalado, debemos estar listos, vagámonos.

$ vagrant up

Trayendo la máquina 'predeterminada' con el proveedor 'virtualbox' ...
==> predeterminada: Importando la caja base 'hashicorp / precise32' ...
==> predeterminada: Dirección MAC coincidente para la red NAT ...
==> predeterminada: Comprobando si la casilla 'hashicorp / precise32 'está actualizado ...
==> predeterminado: Configuración del nombre de la VM: vagrant_default_1419987513948_16273
==> predeterminado: Borrado de las interfaces de red configuradas previamente ...
==> predeterminado: Preparación de interfaces de red basadas en la configuración ...
predeterminado: Adaptador 1: nat
= => predeterminado: puertos de reenvío ...
predeterminado: 22 => 2222 (adaptador 1)
==> predeterminado: arranque VM ...

Este punto de venta todavía no funciona. ¡HABRÁ PROBLEMAS ALREDEDOR AQUÍ SI NO OBTENEMOS ESTE FUNCIONAMIENTO!

Bueno, pensemos en esto. El sitio web de Microsoft dijo que podríamos o no tener que reiniciar una vez que se instala el parche. Sabes, no reiniciamos. Quizás ese sea el problema. Reiniciemos nuevamente para asegurarnos de que se llevó el parche. Cierre todos los archivos abiertos, guarde su trabajo. Cierra todos los programas abiertos. Reiniciar.

...

Y estamos otra vez en vivo. Que proceso No ha sido fácil, pero esto seguramente nos solucionará ahora que tenemos el parche instalado Y reiniciamos la PC nuevamente para una medida segura. Ya es hora de irse bebé.

$ vagrant up

Trayendo la máquina 'predeterminada' con el proveedor 'virtualbox' ...
==> predeterminada: Importando la caja base 'hashicorp / precise32' ...
==> predeterminada: Dirección MAC coincidente para la red NAT ...
==> predeterminada: Comprobando si la casilla 'hashicorp / precise32 'está actualizado ...
==> predeterminado: Configuración del nombre de la VM: vagrant_default_1419987513948_16273
==> predeterminado: Borrado de las interfaces de red configuradas previamente ...
==> predeterminado: Preparación de interfaces de red basadas en la configuración ...
predeterminado: Adaptador 1: nat
= => predeterminado: puertos de reenvío ...
predeterminado: 22 => 2222 (adaptador 1)
==> predeterminado: arranque VM ...

Ni siquiera puedo hablar. Todavía está roto

De vuelta a Google. Es hora de buscar en Google la vida de este problema.

...

15 Búsquedas en Google más tarde. Puede que hayamos encontrado algo. Algunos usuarios informan problemas con varias máquinas virtuales de Windows que inician máquinas virtuales utilizando la versión 4.3.20 de VirtualBox. Algunos incluso han informado que hacer un backrev a una compilación anterior puede ayudar. Ok, parece razonable, desinstalemos el VirtualBox actual, para que podamos instalar la versión anterior de VirtualBox que es 4.3.18. Esto realmente apesta, pero estoy seguro de que esto solucionará las cosas para que finalmente podamos comenzar a trabajar con nuestras nuevas máquinas virtuales. Desinstalemos VirtualBox, ok Windows pregunta si realmente queremos hacer esto, y si permitimos que Oracle Corporation modifique la máquina, claro, desinstalemos.

...

Diez minutos tarde…

Este programa de desinstalación de POS ya no funciona. Déjame cancelarlo. ¿¡Que!? "Otro programa está intentando instalar un programa, espere a que termine el otro proceso"

Tengo esto. ctrl alt delete, busca la tarea VirtualBox y finaliza ese tonto. Ok, estoy haciendo clic en FINALIZAR TAREA, pero el proceso todavía se está ejecutando. Ok, hagamos clic en FINALIZAR TAREA 10 veces seguidas. No Proceso aún en ejecución. VirtualBox se ha apoderado de mi PC. Simplemente reinicie la PC e intente nuevamente. Inicio-> Apagar ...

5 minutos después ... El texto "Apagando PC" ha estado en la pantalla por más de 10 minutos. Excelente. Ahora ni siquiera puedo apagar esta PC POS. Mantenga presionado el botón de encendido hasta que toda la vida abandone esta maldita máquina. Finalmente. Energía de respaldo. Ahora estamos viendo la advertencia de que es posible que Windows no se haya cerrado correctamente, y es posible que debamos comenzar en modo seguro y analizar la integridad de algunos archivos. Sí, eso no está pasando. Elija la opción de inicio de Windows normalmente. Intente desinstalar VirtualBox una vez más. ¡¡Si!! ¡Funcionó! Pudimos desinstalar VirtualBox 4.3.20. ¡Vamos a seguir adelante e instalar esta práctica versión 4.3.18 de VirtualBox y COMENZAR ESTA FIESTA DE VIRTUALIZACIÓN!

Ahora que tenemos 4.3.18 instalado y reiniciamos la PC más veces de las que puedo contar, estoy seguro de que ahora trabajaremos perfectamente con la virtualización una vez que simplemente escribamos vagabundo.

$ vagrant up

Te ahorraré el dolor. El pedazo de basura todavía no funciona. De vuelta a Google.

...

15 minutos despues…

Podríamos haber encontrado algo. Estoy leyendo que desde 4.3.14 para VirtualBox, ha habido varios problemas con el arranque de máquinas virtuales debido a varios problemas de seguridad y posibles conflictos de antivirus. Ni siquiera estoy seguro de tener que intentarlo más. Estamos a varias horas de profundidad en este desastre. Le daré una oportunidad más. Descarguemos la versión 4.3.12 de mayo de 2014 e intentemos de nuevo. ¿Qué podríamos tener que perder? Quiero decir, este día está filmado de todos modos, así que ...

Todo esta instalado. Vagabundo está instalado. VirtualBox 4.3.12 está instalado. Estoy cansado, pero continuaré. Voy a vagabundear una vez más.

Funcionó. Finalmente.

virtualbox

No hay comentarios.:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

outbrain

Páginas