Ejercicios
Tema 3: Orquestación de máquinas virtuales
Ejercicio 1
Instalar una máquina virtual Debian usando Vagrant y conectar con ella
vagrant box add debian-jessie https://github.com/holms/vagrant-jessie-box/releases/download/Jessie-v0.1/Debian-jessie-amd64-netboot.box
vagrant init debian-jessie
vagrant up
vagrant ssh
Ejercicio 2
Crear un script para provisionar nginx
o cualquier otro servidor web que pueda ser útil para alguna otra práctica
Cambiar el archivo Vagrantfile
:
Vagrant.configure("2") do |config|
config.vm.box = "debian-jessie"
config.vm.provision "shell", inline: "sudo apt-get update && sudo apt-get install -y nginx"
end
Ejecutar en consola:
vagrant provision
Ejercicio 3
Configurar tu máquina virtual usando vagrant
con el provisionador
ansible
En primer lugar descargamos la máquina virtual:
vagrant box add https://atlas.hashicorp.com/ubuntu/boxes/xenial64
A continuación iniciamos una instancia la máquina virtual:
vagrant init ubuntu/xenial64
Lanzampos la máquina:
vagrant up
Conectarse vía ssh e instalar python:
vagrant ssh
sudo apt-get install python
exit
Editamos el Vagrantfile
:
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/xenial64"
config.vm.provision "ansible" do |ansible|
ansible.playbook = "polls-django.yml"
end
end
y añadimos el archivo polls-django.yml
- hosts: all
sudo: true
tasks:
- name: Instalar paquetes
apt: name=git state=present
apt: name=build-essential state=present
apt: name=python-setuptools state=present
apt: name=python-dev state=present
apt: name=python-pip state=present
- name: Instalar Django
pip: name=django
- name: Descargar proyecto
git: repo=https://github.com/fblupi/polls-django.git dest=~/polls-django clone=yes force=yes
- name: Ejecutar
command: python ~/polls-django/manage.py runserver
Provisionar:
vagrant provision
Realizamos una prueba de que está funcionando:
Volver a home.