Cloud Computing. Gestión de configuraciones. Vagrant

20
Pedro A. Castillo Valdivieso Depto. de Arquitectura y Tecnología de Computadores Universidad de Granada [email protected]

Transcript of Cloud Computing. Gestión de configuraciones. Vagrant

Pedro A. Castillo Valdivieso Depto. de Arquitectura y Tecnología de Computadores

Universidad de Granada [email protected]

Gestión de configuraciones 2

•  Fuente de información principal: http://jj.github.io/CC/documentos/temas/Gestion_de_configuraciones

Vagrant 3

•  Vagrant permite gestionar el ciclo de vida completo de una máquina virtual:

•  Creación.

•  Provisionamiento.

•  Monitorización.

•  Conexión.

•  Destrucción.

•  Permite trabajar con todo tipo de hipervisores y provisionadores, aunque en general Vagrant usa VirtualBox.

Vagrant. Instalación 4

•  Podemos instalarlo bajándolo de: https://www.vagrantup.com/downloads.html

Vagrant 5

•  Podemos bajar máquinas ya preparadas (en formato .box) de la web:

http://www.vagrantbox.es/

Vagrant 6

•  Como ejemplo, bajemos un Ubuntu Precise Pangolin (Ubuntu 12.04):

vagrant box add precise64 http://files.vagrantup.com/precise64.box

Vagrant 7

•  Inicializamos un nuevo proyecto Vagrant a partir del "box" precise64 descargado: vagrant init precise64

Vagrant 8

•  Crea un Vagrantfile en ese directorio:

Vagrant 9

•  Podemos lanzar la máquina virtual con la siguiente orden (se tendrán en cuenta las configuraciones indicadas en el archivo Vagrantfile, si las hay): vagrant up

Vagrant 10

•  Virtualbox ejecutará la máquina virtual, y podremos entrar en ella a través de ssh (no pedirá clave):

vagrant ssh

Vagrant 11

•  Vemos que hemos entrado en la máquina. •  Podríamos realizar cualquier acción.

Vagrant 12

•  Una vez creada la máquina virtual se puede entrar en ella y configurarla e instalar todo lo necesario.

•  Vagrant permite provisionarla a través del Vagrantfile (al hacer vagrant up o vagrant provision) y se llevan a cabo las acciones especificadas en ese fichero de configuración.

•  Usar el provisionador shell equivale a entrar en la máquina y dar las órdenes a mano en un shell.

Vagrant 13

•  Como ejemplo de configuración para instalar el joe, teclearemos la siguiente en un archivo llamado Vagrantfile:

Vagrant 14

•  Volvemos a lanzar la máquina virtual con la siguiente orden para aplicar las configuraciones indicadas en el archivo Vagrantfile: vagrant provision

Vagrant 15

•  Ahora podemos acceder a la máquina y comprobar que el programa está instalado:

Vagrant 16

•  Una vez que terminemos, podemos apagar la máquina en ejecución con el comando “halt”.

•  Podremos lanzarla de nuevo con el comando “up” y la tendremos tal y como la dejamos la última vez (con los programas instalados, configurados, y archivos copiados).

•  Si queremos eliminar la máquina, usaremos el comando “destroy”.

•  Eso elimina la máquina y configuraciones aplicadas. •  Si la lanzamos con “up” de nuevo, tendremos una

máquina nueva, como recién instalada.

Vagrant 17

•  Apagamos la máquina:

•  Y la destruimos:

Vagrant. Ejercicios 18

•  Instala Vagrant en tu sistema. •  Baja el “box” del ejemplo (precise64.box). •  Lanza la máquina virtual y comprueba que puedes

acceder a ella por ssh. •  Crea un Vagrantfile para instalar el nginx al arrancar la

máquina. •  Comprueba que nginx queda instalado y funcionando.

Recursos adicionales (I) 19

http://jj.github.io/CC/documentos/temas/Gestion_de_configuraciones

Vagrant: What, Why, and How

http://code.tutsplus.com/tutorials/vagrant-what-why-and-how--net-26500

Starting with Vagrant on Ubuntu 14.10 - A Beginner's Guide

https://www.howtoforge.com/tutorial/ubuntu-vagrant-install-and-getting-started/

Vagrant Tutorial - Running a VM For Your Local Development Environment

https://www.youtube.com/watch?v=PmOMc4zfCSw

A beginners guide to vagrant - Getting your portable development environment, part 1

http://www.erikaheidi.com/blog/a-begginers-guide-to-vagrant-getting-your-portable-development-e

Using Vagrant and Ansible

http://docs.ansible.com/ansible/guide_vagrant.html

Recursos adicionales (II) 20

Tutorial to create your first Vagrant project:

https://gist.github.com/dergachev/3866825

Download vagrant boxes: http://www.vagrantbox.es/

Shell provisioner

https://docs.vagrantup.com/v2/provisioning/shell.html

Vagrantfile Explained: Setting Up and Provisioning with Shell

http://www.sitepoint.com/vagrantfile-explained-setting-provisioning-shell/

Building Containerized Apps With Vagrant

http://fizzylogic.nl/2015/01/27/building-containerized-apps-with-vagrant/