Instalar openstack en ubuntu 20.04 (virtualizado)

El propósito del post de hoy es investigar un poco sobre openstack. Openstack es un conjunto de programas que permiten la creación de entornos virtuales donde desplegar tus aplicaciones.

Mi idea era instalarlo en un contenedor lxc, pero no ha sido posible, nisiquiera activando el modo nested virtualization, así que la única solución ha sido instalarlo en un kvm. Mi objetivo final es ver qué posibilidades me ofrece openstack para reemplazar la infraestructura actual que tengo desplegada con proxmox.

En ésta primera prueba vamos a instalar openstack usando devstack que consiste en un conjunto de scripts que van a instalar todo lo necesario para tener un openstack completo funcionando. Si la cosa avanza, vendrán otros posts de como desplegar openstack en un cluster de 4 maquinas. En el siguiente gráfico podemos ver de que partes se compone openstack

Cada uno de los componentes tiene una función:

Dashboard: Llamado Horizon, va a ser el interfaz web para gestionar openstack. Está desarrollado en python y django (cosa que me ha alegrado muchísimo!)
Identity: Llamado Keystone, se encarga de la autenticación de los usuarios en el sistema de openstack y la asignación de permisos.
Image: Llamado glance, que es donde se pueden consultar las imágenes disponibles
Object Storage: Llamado swift, que es donde están almacenadas las imagenes
Compute: Llamado nova, que es quien se encarga de desplegar las imágenes según las necesidades de cómputo que se necesiten
Network: Llamado neutron, que se encarga de la configuración de la red
Block storage: Llamado cinder, que es donde se almacenan los datos de nuestras maquinas

Es importante saber de la existencia de los distintos componentes y sus nombres en el caso que queramos montar un clúster con varias máquinas y poder desplegar cada uno de ellos en distintas máquinas.

De momento nos centramos con un único host virtualizado para empezar a trastear y ver qué es lo que hay por detrás.

Partimos de una ubuntu 20.04 (la última LTS), en la documentación recomiendan usar la anterior LTS, la 18.04 al haber estado mas probada, pero vamos a tirar de la última versión para comprobar su estabilidad, además de que se trata de un entorno de prueba que es posible que desaparezca en pocos días :)

Primero actualizaremos el sistema a la última versión:

$ sudo apt update
$ sudo apt -y upgrade && sudo apt -y dist-upgrade

Y como todos los templates de proxmox, configuraremos los locales y el tzdata

$ sudo dpkg-reconfigure locales
$ sudo dpkg-reconfigure tzdata

Instalaremos git que en el template de proxmox no viene instalado y lo necesitaremos para descargarnos el código de devstack.

$ sudo apt -y install git

A continuación crearemos un usuario llamado stack, lo añadiremos a sudo y nos loguearemos con él

$ sudo useradd -s /bin/bash -d /opt/stack -m stack
$ echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
$ sudo su - stack

Ahora nos descargaremos el repositorio con el script de devstack para instalar openstack

stack@openstack:~$ pwd
/opt/stack
stack@openstack:~$ git clone https://opendev.org/openstack/devstack
stack@openstack:~$ cd devstack

Lo siguiente será definir la contraseña para acceder a openstack, para ello primero copiaremos el fichero que se encuentra en samples, local.conf al directorio raiz del script de devstack

stack@openstack:~/devstack$ cp samples/local.conf .
stack@openstack:~/devstack$ vi local.conf 
[[local|localrc]]
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD

Y empezamos la instalación ejecutando el script stack.sh

stack@openstack:~/devstack$ ./stack.sh 

El proceso de instalación va a durar entre una o dos horas, dependiendo de la conexión a internet.

Si la instalación ha sido satisfactoria nos va a salir el siguiente mensaje

This is your host IP address: 10.90.234.172
This is your host IPv6 address: ::1
Horizon is now available at http://10.90.234.172/dashboard
Keystone is serving at http://10.90.234.172/identity/
The default users are: admin and demo
The password: secret

Services are running under systemd unit files.
For more information see: 
https://docs.openstack.org/devstack/latest/systemd.html

DevStack Version: victoria
Change: e3e80633806242f0ae5a22fe5b9cb3e145789d28 Merge "Cleanup VM instances during unstack" 2020-07-02 11:27:25 +0000
OS Version: Ubuntu 20.04 focal

Ahora lo siguiente es trastear con openstack y ver como funciona. Lo siguiente será ver como se despliega en varios servidores. De momento os dejo un link que creo que es por donde se tendrá que tirar

https://ubuntu.com/openstack/install

4 Comments

    • arreglado, muchas gracias! a veces el tiempo pasa tan rápido que ni nos enteramos!!!

      Respon
  1. Muy buen tutorial pero no llego a las Vms por ping, agregue este protocolo al security group, levante ip flotante y asocie el router, pero nada , alguna idea ?

    Respon

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *

Aquest lloc utilitza Akismet per reduir els comentaris brossa. Apreneu com es processen les dades dels comentaris.