SlideShare una empresa de Scribd logo
1 de 40
Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
Creación de entornos
de desarrollo con
Vagrant
Creación de entornos
de desarrollo con
Vagrant
Carlos Gimeno – cgimeno@bifi.es
Alberto Alcolea – alberto.alcolea@bifi.es
2Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
0. Índice
Introducción a Vagrant
Introducción
Como empezar
Provisión
Acceso a las máquinas
Reenvío de puertos
Red privada
Red pública
Varias VM con Vagrant
Compartición de datos. Directorios Compartidos
Directorios VirtualBox
NFS
Rsync
SMB
Empaquetado de VM
VM funcionando en Vagrant
VM funcionando en VirtualBox
Provisión de Máquinas con Ansible
3Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
1. Vagrant - Introducción
¿Qué es Vagrant?
Una herramienta de codigo abierto para la creacion
de ambientes virtuales de desarrollo.
Compatible con los principales serivicios de
virtualización, VirtualBox, VMWare...
4Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
1. Vagrant - Introducción
¿Por qué necesito Vagrant?
5Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
1. Vagrant – Como empezar
¿Como instalar Vagrant?
Apt-get install Vagrant
La versión de Vagrant de los repositorios de Ubuntu
no es la más actualizada, conviene bajar la más
nueva de la web de Vagrant
● https://www.vagrantup.com/downloads.html
6Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
1. Vagrant – Como empezar
¿Qué necesito para mi primera máquina?
Vagrant box: Imagen especialmente preparada
para funcionar con Vagrant
● https://atlas.hashicorp.com/boxes/search
● http://www.vagrantbox.es/
● O podemos crearlas nosotros mismos...
7Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
1. Vagrant – Como empezar
¿Qué necesito para mi primera máquina (II)?
Crear un nuevo directorio con un Vagrantfile.
Vagrantfile: Fichero en Ruby que describe la
configuración de la máquina virtual.
Dispone de multitud de opciones para la
configuración y provisión de nuestra máquina
virtual.
vagrant init nos creará un Vagrantfile por defecto
8Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
1. Vagrant – Como empezar
¿Como levanto y me conecto a mi máquina?
Vagrant up: levanta la máquina virtual utilizando el
archivo de configuración Vagrantfile.
Vagrant ssh: Nos permite conectarnos a la
máquina.
9Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
1. Vagrant – Provisión
¿Qué hacer una vez lanzada la máquina?
Normalmente nos interesa instalar una serie de
prgoramas por defecto en nuestra máquina.
Es una tarea tediosa instalar manualmente todos
los paquetes necesarios a mano.
10Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
1. Vagrant – Provisión
¿Qué solución hay?
Solución: Automatización
Vagrant nos da varios mecanismos para realizar
tareas de forma automática.
11Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
1. Vagrant – Provisión
Un ejercicio sencillo: Instalar apache2
12Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
2. Vagrant – Acceso
¿Como accedo a los servicios de mi VM?
Reenvío de puertos
Red privada
Red pública
13Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
2. Vagrant – Reenvío de puertos
¿En que consiste?
Permite que al acceder a un puerto determinado en
el host, todos los datos se envien a la VM
14Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
2. Vagrant – Reenvío de puertos
¿Como reenvío los puertos en Vagrant?
15Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
2. Vagrant – Reenvío de puertos
¿Qué ventajas y desventajas tiene?
Ventajas:
● Muy sencillo de configurar
● Suele ser más que suficiente en la mayoría de ocasiones
● Muy seguro, solo exponemos los puertos reenviados en la VM.
Desventajas
● Cuidado con utilizar puertos que ya se esten usando (opción
auto-correct)
● No podemos utilizar puertos por debajo del 1024, excepto que
Vagrant se ejecute como root (no recomendado)
16Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
2. Vagrant – Red Privada
¿En que consiste?
Una red privada nos permite acceder a la VM
utilizando una IP que no es públicamente accesible
Podemos añadir más VM's a esta red privada y
todas podrán comunicarse entre ellas sin
problemas.
17Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
2. Vagrant – Red Privada
¿Como defino redes privadas en Vagrant?
18Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
2. Vagrant – Red Privada
¿Que ventajas y desventajas tiene?
Ventajas:
● Podemos crear redes “anfitrión-invitado” para compartir asi
servicios del anfitrión (NFS)
● Podemos añadir todas las máquinas virtuales que queramos a la
nueva red y comunicarlas.
Desventajas:
● Es un poco más complicado de configurar
● Hay que tener cuidado si se usan IP's estaticas
● Puede que Vagrant no configure automáticamente las interfaces
del anfitrión (depende del SO)
19Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
2. Vagrant – Red pública
¿En que consiste?
Nos permite acceder a la VM como si fuera una
máquina física normal y corriente.
Es la opción más potente para acceder desde el
exterior de la VM.
20Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
2. Vagrant – Red pública
¿Como defino una red pública en Vagrant?
De forma similar a una privada:
21Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
2. Vagrant – Red pública
¿Que ventajas y desventajas tiene?
Ventajas:
● Podemos acceder a la máquina como si fuera una máquina
más de la red (cuidado con la seguridad)
● No estamos limitados a puertos superiores a 1024
Desventajas:
● Más complicado de configurar, hemos de tener IP's públicas
disponibles
● Al funcionar en modo bridge, no siempre es posible hacer
que funcione, sobre todo si no administramos las máquinas.
22Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
3. Vagrant – Varias VM
¿Soporta Vagrant varias VM?
Hasta ahora hemos visto como lanzar una máquina
virtual
Para pruebas simples es suficiente
¿Qué ocurre en escenarios mas complejos?
● Un servidor web y una base de datos en máquinas
distintas
● Modelados de sistemas distribuidos
● Probar casos de recuperación ante un desastre...
23Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
3. Vagrant – Varias VM
¿Qué opciones nos da Vagrant para este
problema?
24Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
3. Vagrant – Varias VM
Solución: En el propio Vagrantfile
Vagrant nos permite definir en el Vagrantfile, más
de una máquina virtual, cada una con sus opciones
de configuración.
Es la solución ideal cuando queremos probar
escenarios más complejos, como los descritos
anteriormente.
25Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
3. Vagrant – Varias VM
¿Como las defino en el Vagrantfile?
Muy sencillo
26Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
4. Vagrant – Directorios
compartidos
¿Qué opciones tengo para compartir datos con
la VM?
Vagrant nos da varias opciones para compartir
datos con nuestra máquina virtual:
● Directorios sincronizados (VirtualBox)
● NFS
● Rsync
● SMB
27Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
4. Vagrant – Directorios
compartidos
¿Qué son los directorios VirtualBox?
Es la opción más sencilla para compartir datos
Un directorio en el anfitrión, se hace visible en
nuestra máquina virtual en el directorio que
definamos.
No es una opción apropiada si buscamos
rendimiento
28Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
4. Vagrant – Directorios
compartidos
¿Como comparto un directorio usando NFS?
Si estamos buscando rendimiento, montar el/los
directorios por NFS puede ser una buena idea
Requisitos: Tener instalado NFS en el anfitrión y
que el invitado soporte NFS
29Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
4. Vagrant – Directorios
compartidos
Permisos al montar por NFS
A tener muy en cuenta: Es posible que al montar
por NFS nos solicite la contraseña para obtener
permisos de administración.
Solución ideal: modificar archivo sudoers
30Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
4. Vagrant – Directorios
compartidos
¿Qué hacer si estas opciones no estan
disponibles?
Utilizar Rsync
Permite sincronizar un directorio entre el anfitrión y
la máquina virtual
Tiene que estar instalado rsync en ambas
máquinas.
31Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
4. Vagrant – Directorios
compartidos
¿Y si estoy utilizando Vagrant en Windows?
O bien utilizamos la funcionalidad de Virtualbox
para compartir directorios
O bien sincronizamos los archivos utilizando SMB (
Server Message Block)
32Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
5. Vagrant – Empaquetar una
VM
Quiero utilizar una VM como base en el futuro
¿Como lo hago?
Vagrant nos da la opción de empaquetar una
máquina que tengamos funcionando en el
formato .box de Vagrant para futuros usos.
33Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
5. Vagrant – Empaquetar una
VM
¿Como lo hago?
Si queremos empaquetar una máquina de Vagrant
● vagrant package [--output] [--include] [--vagrantfile]
Si queremos empaquetar una máquina de
Virtualbox
● vagrant package --base
34Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
5. Vagrant – Empaquetar una
VM
¿Por qué empaquetar una VM?
Es una forma sencilla de crear una VM para
reutilizar posteriormente sin tener que provisionarla
cada vez
Nos permite crear nuevas VM a partir de máquinas
que ya tengamos funcionando en VirtualBox
35Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
5. Vagrant – Empaquetar una
VM
¿Como utilizar una imagen empaquetada por
nosotros?
vagrant box add <nombre> <archivo>
36Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
6. Vagrant – Provision con
Ansible
¿Como utilizamos Ansible para la provision?
Utilizar shell para la provisión de VM es algo
factible para tareas sencillas, pero inviable para
tareas mas complejas
Es por ello que se hace el uso de herramientas
como las que hemos comentado al incio
37Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
6. Vagrant – Provision con
Ansible
¿Por qué Ansible?
Es software libre.
Fácil de configurar.
Es “agent-less”, no requiere instalación de agentes
en las máquinas, solo OpenSSH.
En las últimas versiones soporta también Windows.
Fácil de trabajar con el, sus recetas son en formato
YAML (YAML Ain't Another Markup Language).
38Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
6. Vagrant – Provision con
Ansible
Un ejercicio un poco menos simple:
Crear dos máquinas con Vagrant
Comunicarlas entre sí con una red privada
Objetivo final: Instalar un Wordpress
● Una de ellas tendrá el servidor web
● La otra, la base de datos
39Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
Bibliografía
Para saber mas:
Documentación oficial
● http://docs.vagrantup.com/v2
40Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es
Preguntas
¿Alguna pregunta?

Más contenido relacionado

Destacado

Dev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producciónDev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producciónKleer Agile Coaching & Training
 
Curso puppet lenguaje_2
Curso puppet lenguaje_2Curso puppet lenguaje_2
Curso puppet lenguaje_2martacdehesa
 
Virtualización y Provisionamiento: Entornos de desarrollo con Vagrant y Puppet
Virtualización y  Provisionamiento: Entornos de desarrollo con  Vagrant y PuppetVirtualización y  Provisionamiento: Entornos de desarrollo con  Vagrant y Puppet
Virtualización y Provisionamiento: Entornos de desarrollo con Vagrant y PuppetRichard Moya
 
Entorno de desarrollo rápido con Vagrant
Entorno de desarrollo rápido con VagrantEntorno de desarrollo rápido con Vagrant
Entorno de desarrollo rápido con VagrantPau Ferrer Ocaña
 
Entornos de desarrollo para symfony2 con vagrant y puppet
Entornos de desarrollo para symfony2 con vagrant y puppetEntornos de desarrollo para symfony2 con vagrant y puppet
Entornos de desarrollo para symfony2 con vagrant y puppetVicent Soria Durá
 
Vagrant para automatizar entornos DEV/PRO: VirtualBox y vSphere
Vagrant para automatizar entornos DEV/PRO: VirtualBox y vSphereVagrant para automatizar entornos DEV/PRO: VirtualBox y vSphere
Vagrant para automatizar entornos DEV/PRO: VirtualBox y vSphereJavier Jerónimo Suárez
 
Vagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de usoVagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de usoSergio Zambrano Delfa
 
Dev ops. Rompiendo Barreras
Dev ops. Rompiendo BarrerasDev ops. Rompiendo Barreras
Dev ops. Rompiendo BarrerasJuan Mauricio
 
Dev ops infraestructura agil con open source
Dev ops   infraestructura agil con open sourceDev ops   infraestructura agil con open source
Dev ops infraestructura agil con open sourcescrumecuador
 

Destacado (13)

Discovering New Apps
Discovering New AppsDiscovering New Apps
Discovering New Apps
 
Vagrant
VagrantVagrant
Vagrant
 
Dev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producciónDev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producción
 
Curso puppet lenguaje_2
Curso puppet lenguaje_2Curso puppet lenguaje_2
Curso puppet lenguaje_2
 
Virtualización y Provisionamiento: Entornos de desarrollo con Vagrant y Puppet
Virtualización y  Provisionamiento: Entornos de desarrollo con  Vagrant y PuppetVirtualización y  Provisionamiento: Entornos de desarrollo con  Vagrant y Puppet
Virtualización y Provisionamiento: Entornos de desarrollo con Vagrant y Puppet
 
Entorno de desarrollo rápido con Vagrant
Entorno de desarrollo rápido con VagrantEntorno de desarrollo rápido con Vagrant
Entorno de desarrollo rápido con Vagrant
 
Entornos de desarrollo para symfony2 con vagrant y puppet
Entornos de desarrollo para symfony2 con vagrant y puppetEntornos de desarrollo para symfony2 con vagrant y puppet
Entornos de desarrollo para symfony2 con vagrant y puppet
 
Vagrant para automatizar entornos DEV/PRO: VirtualBox y vSphere
Vagrant para automatizar entornos DEV/PRO: VirtualBox y vSphereVagrant para automatizar entornos DEV/PRO: VirtualBox y vSphere
Vagrant para automatizar entornos DEV/PRO: VirtualBox y vSphere
 
Vagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de usoVagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de uso
 
introducción a Docker
introducción a Dockerintroducción a Docker
introducción a Docker
 
Dev ops. Rompiendo Barreras
Dev ops. Rompiendo BarrerasDev ops. Rompiendo Barreras
Dev ops. Rompiendo Barreras
 
Dev ops infraestructura agil con open source
Dev ops   infraestructura agil con open sourceDev ops   infraestructura agil con open source
Dev ops infraestructura agil con open source
 
Gestionando servidores con Puppet
Gestionando servidores con PuppetGestionando servidores con Puppet
Gestionando servidores con Puppet
 

Similar a Creación de entornos de desarrollo con Vagrant

Docker: la revolución en virtualización
Docker: la revolución en virtualizaciónDocker: la revolución en virtualización
Docker: la revolución en virtualizaciónMarcelo Ochoa
 
El servidor perfecto
El servidor perfectoEl servidor perfecto
El servidor perfectobetabeers
 
326205723-MTCNA.pdf
326205723-MTCNA.pdf326205723-MTCNA.pdf
326205723-MTCNA.pdfWifiCren
 
Despliegue de Imágenes en aulas de informática
Despliegue de Imágenes en aulas de informáticaDespliegue de Imágenes en aulas de informática
Despliegue de Imágenes en aulas de informáticassuserbd237f
 
Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019
Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019
Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019Javier García Antón
 
WebRTC en tu web con OpenVidu
WebRTC en tu web con OpenViduWebRTC en tu web con OpenVidu
WebRTC en tu web con OpenViduMicael Gallego
 
Uem coud v3.0_12_diciembre_2014_presentación final
Uem coud v3.0_12_diciembre_2014_presentación finalUem coud v3.0_12_diciembre_2014_presentación final
Uem coud v3.0_12_diciembre_2014_presentación finalFernando Mateus
 
presentation_3341_1461569643.pdf
presentation_3341_1461569643.pdfpresentation_3341_1461569643.pdf
presentation_3341_1461569643.pdfBismarckBerrios2
 
Code Camp Santiago hyper-v
Code Camp Santiago hyper-vCode Camp Santiago hyper-v
Code Camp Santiago hyper-vPablo Campos
 

Similar a Creación de entornos de desarrollo con Vagrant (20)

Docker: la revolución en virtualización
Docker: la revolución en virtualizaciónDocker: la revolución en virtualización
Docker: la revolución en virtualización
 
virtualizacion - upsam
virtualizacion - upsamvirtualizacion - upsam
virtualizacion - upsam
 
Virtualbox
VirtualboxVirtualbox
Virtualbox
 
Consolidacion
ConsolidacionConsolidacion
Consolidacion
 
El servidor perfecto
El servidor perfectoEl servidor perfecto
El servidor perfecto
 
Exprime al máximo la capacidad de tus servidores gracias a la virtualización ...
Exprime al máximo la capacidad de tus servidores gracias a la virtualización ...Exprime al máximo la capacidad de tus servidores gracias a la virtualización ...
Exprime al máximo la capacidad de tus servidores gracias a la virtualización ...
 
326205723-MTCNA.pdf
326205723-MTCNA.pdf326205723-MTCNA.pdf
326205723-MTCNA.pdf
 
VIRTUALBOX
VIRTUALBOX VIRTUALBOX
VIRTUALBOX
 
Despliegue de Imágenes en aulas de informática
Despliegue de Imágenes en aulas de informáticaDespliegue de Imágenes en aulas de informática
Despliegue de Imágenes en aulas de informática
 
Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019
Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019
Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019
 
WebRTC en tu web con OpenVidu
WebRTC en tu web con OpenViduWebRTC en tu web con OpenVidu
WebRTC en tu web con OpenVidu
 
Curso linux clase_2_2012
Curso linux clase_2_2012Curso linux clase_2_2012
Curso linux clase_2_2012
 
Resumen Grupo1
Resumen Grupo1Resumen Grupo1
Resumen Grupo1
 
4.-VirtualBox.pdf
4.-VirtualBox.pdf4.-VirtualBox.pdf
4.-VirtualBox.pdf
 
Proyecto seguridad
Proyecto seguridadProyecto seguridad
Proyecto seguridad
 
Uem coud v3.0_12_diciembre_2014_presentación final
Uem coud v3.0_12_diciembre_2014_presentación finalUem coud v3.0_12_diciembre_2014_presentación final
Uem coud v3.0_12_diciembre_2014_presentación final
 
Comandar un pic a través de internet
Comandar un pic a través de internetComandar un pic a través de internet
Comandar un pic a través de internet
 
presentation_3341_1461569643.pdf
presentation_3341_1461569643.pdfpresentation_3341_1461569643.pdf
presentation_3341_1461569643.pdf
 
Maquinas virtuales
Maquinas virtualesMaquinas virtuales
Maquinas virtuales
 
Code Camp Santiago hyper-v
Code Camp Santiago hyper-vCode Camp Santiago hyper-v
Code Camp Santiago hyper-v
 

Último

Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...wvernetlopez
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfDanielaVelasquez553560
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptEduardoCorado
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7luisanthonycarrascos
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptxguillermosantana15
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricoalexcala5
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVSebastianPaez47
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfyoseka196
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones025ca20
 
Presentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxPresentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxYajairaMartinez30
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSaulSantiago25
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxMarcelaArancibiaRojo
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 

Último (20)

Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdf
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.ppt
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctrico
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdf
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones
 
Presentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxPresentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptx
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusibles
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docx
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 

Creación de entornos de desarrollo con Vagrant

  • 1. Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es Creación de entornos de desarrollo con Vagrant Creación de entornos de desarrollo con Vagrant Carlos Gimeno – cgimeno@bifi.es Alberto Alcolea – alberto.alcolea@bifi.es
  • 2. 2Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 0. Índice Introducción a Vagrant Introducción Como empezar Provisión Acceso a las máquinas Reenvío de puertos Red privada Red pública Varias VM con Vagrant Compartición de datos. Directorios Compartidos Directorios VirtualBox NFS Rsync SMB Empaquetado de VM VM funcionando en Vagrant VM funcionando en VirtualBox Provisión de Máquinas con Ansible
  • 3. 3Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 1. Vagrant - Introducción ¿Qué es Vagrant? Una herramienta de codigo abierto para la creacion de ambientes virtuales de desarrollo. Compatible con los principales serivicios de virtualización, VirtualBox, VMWare...
  • 4. 4Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 1. Vagrant - Introducción ¿Por qué necesito Vagrant?
  • 5. 5Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 1. Vagrant – Como empezar ¿Como instalar Vagrant? Apt-get install Vagrant La versión de Vagrant de los repositorios de Ubuntu no es la más actualizada, conviene bajar la más nueva de la web de Vagrant ● https://www.vagrantup.com/downloads.html
  • 6. 6Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 1. Vagrant – Como empezar ¿Qué necesito para mi primera máquina? Vagrant box: Imagen especialmente preparada para funcionar con Vagrant ● https://atlas.hashicorp.com/boxes/search ● http://www.vagrantbox.es/ ● O podemos crearlas nosotros mismos...
  • 7. 7Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 1. Vagrant – Como empezar ¿Qué necesito para mi primera máquina (II)? Crear un nuevo directorio con un Vagrantfile. Vagrantfile: Fichero en Ruby que describe la configuración de la máquina virtual. Dispone de multitud de opciones para la configuración y provisión de nuestra máquina virtual. vagrant init nos creará un Vagrantfile por defecto
  • 8. 8Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 1. Vagrant – Como empezar ¿Como levanto y me conecto a mi máquina? Vagrant up: levanta la máquina virtual utilizando el archivo de configuración Vagrantfile. Vagrant ssh: Nos permite conectarnos a la máquina.
  • 9. 9Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 1. Vagrant – Provisión ¿Qué hacer una vez lanzada la máquina? Normalmente nos interesa instalar una serie de prgoramas por defecto en nuestra máquina. Es una tarea tediosa instalar manualmente todos los paquetes necesarios a mano.
  • 10. 10Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 1. Vagrant – Provisión ¿Qué solución hay? Solución: Automatización Vagrant nos da varios mecanismos para realizar tareas de forma automática.
  • 11. 11Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 1. Vagrant – Provisión Un ejercicio sencillo: Instalar apache2
  • 12. 12Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 2. Vagrant – Acceso ¿Como accedo a los servicios de mi VM? Reenvío de puertos Red privada Red pública
  • 13. 13Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 2. Vagrant – Reenvío de puertos ¿En que consiste? Permite que al acceder a un puerto determinado en el host, todos los datos se envien a la VM
  • 14. 14Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 2. Vagrant – Reenvío de puertos ¿Como reenvío los puertos en Vagrant?
  • 15. 15Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 2. Vagrant – Reenvío de puertos ¿Qué ventajas y desventajas tiene? Ventajas: ● Muy sencillo de configurar ● Suele ser más que suficiente en la mayoría de ocasiones ● Muy seguro, solo exponemos los puertos reenviados en la VM. Desventajas ● Cuidado con utilizar puertos que ya se esten usando (opción auto-correct) ● No podemos utilizar puertos por debajo del 1024, excepto que Vagrant se ejecute como root (no recomendado)
  • 16. 16Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 2. Vagrant – Red Privada ¿En que consiste? Una red privada nos permite acceder a la VM utilizando una IP que no es públicamente accesible Podemos añadir más VM's a esta red privada y todas podrán comunicarse entre ellas sin problemas.
  • 17. 17Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 2. Vagrant – Red Privada ¿Como defino redes privadas en Vagrant?
  • 18. 18Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 2. Vagrant – Red Privada ¿Que ventajas y desventajas tiene? Ventajas: ● Podemos crear redes “anfitrión-invitado” para compartir asi servicios del anfitrión (NFS) ● Podemos añadir todas las máquinas virtuales que queramos a la nueva red y comunicarlas. Desventajas: ● Es un poco más complicado de configurar ● Hay que tener cuidado si se usan IP's estaticas ● Puede que Vagrant no configure automáticamente las interfaces del anfitrión (depende del SO)
  • 19. 19Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 2. Vagrant – Red pública ¿En que consiste? Nos permite acceder a la VM como si fuera una máquina física normal y corriente. Es la opción más potente para acceder desde el exterior de la VM.
  • 20. 20Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 2. Vagrant – Red pública ¿Como defino una red pública en Vagrant? De forma similar a una privada:
  • 21. 21Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 2. Vagrant – Red pública ¿Que ventajas y desventajas tiene? Ventajas: ● Podemos acceder a la máquina como si fuera una máquina más de la red (cuidado con la seguridad) ● No estamos limitados a puertos superiores a 1024 Desventajas: ● Más complicado de configurar, hemos de tener IP's públicas disponibles ● Al funcionar en modo bridge, no siempre es posible hacer que funcione, sobre todo si no administramos las máquinas.
  • 22. 22Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 3. Vagrant – Varias VM ¿Soporta Vagrant varias VM? Hasta ahora hemos visto como lanzar una máquina virtual Para pruebas simples es suficiente ¿Qué ocurre en escenarios mas complejos? ● Un servidor web y una base de datos en máquinas distintas ● Modelados de sistemas distribuidos ● Probar casos de recuperación ante un desastre...
  • 23. 23Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 3. Vagrant – Varias VM ¿Qué opciones nos da Vagrant para este problema?
  • 24. 24Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 3. Vagrant – Varias VM Solución: En el propio Vagrantfile Vagrant nos permite definir en el Vagrantfile, más de una máquina virtual, cada una con sus opciones de configuración. Es la solución ideal cuando queremos probar escenarios más complejos, como los descritos anteriormente.
  • 25. 25Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 3. Vagrant – Varias VM ¿Como las defino en el Vagrantfile? Muy sencillo
  • 26. 26Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 4. Vagrant – Directorios compartidos ¿Qué opciones tengo para compartir datos con la VM? Vagrant nos da varias opciones para compartir datos con nuestra máquina virtual: ● Directorios sincronizados (VirtualBox) ● NFS ● Rsync ● SMB
  • 27. 27Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 4. Vagrant – Directorios compartidos ¿Qué son los directorios VirtualBox? Es la opción más sencilla para compartir datos Un directorio en el anfitrión, se hace visible en nuestra máquina virtual en el directorio que definamos. No es una opción apropiada si buscamos rendimiento
  • 28. 28Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 4. Vagrant – Directorios compartidos ¿Como comparto un directorio usando NFS? Si estamos buscando rendimiento, montar el/los directorios por NFS puede ser una buena idea Requisitos: Tener instalado NFS en el anfitrión y que el invitado soporte NFS
  • 29. 29Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 4. Vagrant – Directorios compartidos Permisos al montar por NFS A tener muy en cuenta: Es posible que al montar por NFS nos solicite la contraseña para obtener permisos de administración. Solución ideal: modificar archivo sudoers
  • 30. 30Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 4. Vagrant – Directorios compartidos ¿Qué hacer si estas opciones no estan disponibles? Utilizar Rsync Permite sincronizar un directorio entre el anfitrión y la máquina virtual Tiene que estar instalado rsync en ambas máquinas.
  • 31. 31Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 4. Vagrant – Directorios compartidos ¿Y si estoy utilizando Vagrant en Windows? O bien utilizamos la funcionalidad de Virtualbox para compartir directorios O bien sincronizamos los archivos utilizando SMB ( Server Message Block)
  • 32. 32Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 5. Vagrant – Empaquetar una VM Quiero utilizar una VM como base en el futuro ¿Como lo hago? Vagrant nos da la opción de empaquetar una máquina que tengamos funcionando en el formato .box de Vagrant para futuros usos.
  • 33. 33Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 5. Vagrant – Empaquetar una VM ¿Como lo hago? Si queremos empaquetar una máquina de Vagrant ● vagrant package [--output] [--include] [--vagrantfile] Si queremos empaquetar una máquina de Virtualbox ● vagrant package --base
  • 34. 34Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 5. Vagrant – Empaquetar una VM ¿Por qué empaquetar una VM? Es una forma sencilla de crear una VM para reutilizar posteriormente sin tener que provisionarla cada vez Nos permite crear nuevas VM a partir de máquinas que ya tengamos funcionando en VirtualBox
  • 35. 35Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 5. Vagrant – Empaquetar una VM ¿Como utilizar una imagen empaquetada por nosotros? vagrant box add <nombre> <archivo>
  • 36. 36Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 6. Vagrant – Provision con Ansible ¿Como utilizamos Ansible para la provision? Utilizar shell para la provisión de VM es algo factible para tareas sencillas, pero inviable para tareas mas complejas Es por ello que se hace el uso de herramientas como las que hemos comentado al incio
  • 37. 37Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 6. Vagrant – Provision con Ansible ¿Por qué Ansible? Es software libre. Fácil de configurar. Es “agent-less”, no requiere instalación de agentes en las máquinas, solo OpenSSH. En las últimas versiones soporta también Windows. Fácil de trabajar con el, sus recetas son en formato YAML (YAML Ain't Another Markup Language).
  • 38. 38Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es 6. Vagrant – Provision con Ansible Un ejercicio un poco menos simple: Crear dos máquinas con Vagrant Comunicarlas entre sí con una red privada Objetivo final: Instalar un Wordpress ● Una de ellas tendrá el servidor web ● La otra, la base de datos
  • 39. 39Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es Bibliografía Para saber mas: Documentación oficial ● http://docs.vagrantup.com/v2
  • 40. 40Instituto de Biocomputación y Física de Sistemas Complejos • info@bifi.es • http://bifi.es Preguntas ¿Alguna pregunta?