Este repositorio tiene como fin el aprender los conocimientos básicos para poder generar infraestrutura a partir de código(IAC) mediante el uso de Terraform.
Nuestras prácticas se realizan sobre OpenStack como proveedor de la infraestructura.
En nuestro laboratorio hemos utilizado una maquina dedicada del proveedor Hetzner con las siguientes caracteristicas:
Procesador | Almacenamiento | Memoria |
---|---|---|
Intel Core i7-950 | 2x HDD 2,0 TB SATA Enterprise | 6x RAM DDR3 8192 MB |
Sobre la máquina se ha instalado Linux Ubuntu Server 16.04, DevStack versión Newton y Terraform 0.8.7
Para poder disponer de OpenStack en sobre una unica máquina se ha procedido ha instalar DevStack
- Crear un usuario stack especifico para DevStack
adduser stack --shell /bin/bash --home /home/stack
- Dar capacidadd de sudo al usuario stack
echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
- Actualizar paquetes del sistema
apt-get update
- Instalar git
apt-get install git
- Cambiar al usuario stack
su stack
- Cambiar al directorio HOME
cd $HOME
- Clonar el repositorio de DevStack
git clone https://git.openstack.org/openstack-dev/devstack
- Posicionarnos en el directorio devstack
cd devstack
- Cambiar a la rama estable para la version Newton de DevStack que deseamos instalar según las versiones posibles indicadas en el repo git. Versiones estables
git checkout stable/newton
- Creamos la configuración minima para DevStack creando el fichero local.conf con el siguiente contenido, donde secret debe ser la password del usuario admin que nos da acceso a nuestro Openstack.
[[local|localrc]]
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
- Lanzar la instalación de devstack y esperar a que finalize
./stack.sh
- Acceder a la consola de administración en http://tu-ip-server/dashboard
Definimos aqui todos los requisitos necesarios para poder realizar los laboratorios
- Creación de un proyecto dedicado con las quotas necesarias.
- Usuario para el proyecto con rol de ResellerAdmin.
- Imagen Debian 8.7.0 disponible para el proyecto
ID | Descripción |
---|---|
example-1 | Creación de un web-server con ip privada e ip flotante |
example-2 | Creación de un cluster de webservers con ip privada cuyo número depende del párametro cluster_size |
example-3 | Creación de un cluster de webservers con ip privada cuyo número depende del párametro cluster_size asociadoa a una zona de disponibilidad y generando un fichero yml con información de las instancias creadas |