Abstract
La meta de este trabajo es conseguir montar un sistema cloud privado y opensource para
poder lanzar instancias virtuales y trabajar con ellas. Esto se debería llevar a cabo sobre
computadores que proporcionasen la funcionalidad de un servidor de servicios, pero
como no se pudo hacer uso de estos, se utilizó un software de virtualización, en este
caso virtualbox[4].
Tras un estudio previo en el que se escogió la mejor arquitectura posible teniendo en
cuenta aspectos de funcionalidad y seguridad se lleva a cabo el proyecto sobre tres
máquinas virtuales. Había dudas sobre la viabilidad del proyecto en la fase de diseño
porque el producto final es virtualización sobre virtualización, pero no había otro modo
de poder llevarlo a cabo. Para la parte de automatización se emplea ansible[8] de
manera que con la ejecución de un comando se lleve a cabo todo lo necesario para que
openstack[2, 3] esté disponible y se pueda lanzar instancias con él. Este mandato
hará bastantes cosas internamente para conseguir la meta. En primer lugar ha de crear
las máquinas virtuales sobre las que se montará openstack y configurar su
almacenamiento, memoria, red...
Una vez hecho esto debería configurar la máquina de NAT para tener una configuración
homogénea que daremos a todas las máquinas. Posteriormente configurará el
controller. Éste, lo primero que hará será configurar el entorno de la máquina y
después seguirá con los servicios necesarios de openstack. Aquí se instalará y
configurará keystone para la autenticación, glance para el servicio de imágenes,
nova para el servicio de computación, neutron para la red y horizon como
dashboard. Por último se encargará de hacer lo mismo en la máquina de cómputo
pero con algún servicio menos ya que no van a ser necesarios para la computación.
Teniendo esto ya debería ser capaz de acceder vía web al sistema e interactuar con él.
Además, alternativamente se puede incluir que lance una instancia automáticamente por
si el usuario es inexperto.
Tras las pruebas del sistema el resultado es satisfactorio y cumple con la funcionalidad
inicialmente prevista.---ABSTRACT---As I have said in the introduccion section the goal of this project is to buid a private and
opensource cloud system for launching instances and distribute jobs within them. To
accomplish this goal, I would need some physical servers but I haven't them. Then I'm
going to use virtualbox software building openstack inside it.
Before the previous study I'm going to use three virtualbox instances for this
project for security and functional reasons. I wasn't sure that the infrastructure will work
over virtualbox machines because this is virtualization over virtualization. I was a
little scared for this but it looks that is going to work correctly. For the automatization
I'm going to use ansible because I want that when I execute a command I need to
assure that all the openstack infrastructure is mounted and the instance can be
launched. The command has to perform a lot of things. The first thing is to create and
configure the virtualbox machines (create, memory, network...). Then, it must
configure the NAT virtual machine with a standard configuration that I have created for
all machines.
The most important machine is the controller. I have to install and configure keystone
(in it for authentication), glance(image service), nova (compute service), neutron
(networking service) and horizon (dashboard service). Last. the command will
make the same operation in the compute node but with some less services. With all
these things I could launch the openstack instances in a web. Also I can create a
playbook for automatically launching new instances if the user is inexperienced.
With the system testing I can see a great results for the project.