Monta OpenStack Kilo mediante devstack 2015 en español

Estándar

openstack-iconOpenStack es uno de los proyectos o laboratorios más interesantes y grandes que puedes llegar a montar en casa es el de OpenStack, quizás algunos ya lo conociais y otros lo estais conociendo actualmente.

Basicamente OpenStack es un IaaS, es decir infraestructura como servicio, y aunque os podria soltar bastante rollo sobre esto, ya sabeis que suelo ser escueto y dejar realmente que busqueis toda la información complementaria.

Para que lo entendais bien, se trata de tener un datacenter totalmente virtual, desde las tipicas maquinas virtuales, a poder desplegar redes, routers, balanceadores de carga, firewalls… y todo lo necesario para tener tu datacenter virtualizado.

El proyecto es opensource y desarollado para linux, donde incluso cada gran marca o distribucion tiene sus propias dependencias o paquetes y una amplia comunidad dispuesta a ayudar (a mi incluso podeis preguntarme dudas sin ningún tipo de problema).

Te pica la curiosidad de empezar con el? pues Lee más.

Para instalar openstack se puede usar basicamente 3 entornos o herramientas:

  • Devstack: Es la más sencilla y la que te da un OpenStack funcional en menos de 30 minutos, en cambio tiene muchas pegas para realmente luego personalizarlo y reconfigurarlo a medida (aunque se puede, no es del todo practico).
  • Distribuciones de terceros: Esto es un software el cual siendo bastante intuitivo te ayuda a instalar OpenStack de una manera facil pero ya con los paquetes oficiales y con posibilidad de poder incluso ponerlo en producción, algunos distribuidores pueden ser Mirantis, Ubuntu Cloud o OpenSuse Cloud.
  • Montaje componente a componente: Este es el más costoso pero por el contrario es el que tu tienes la batuta de todo y tu decides cada detalle de la nube y sabes como se ha creado al 100% (es la más recomendable y la que personalmente yo uso en el trabajo)

Para empezar de forma sencilla utilizaremos en esta entrada de blog Devstack, aunque las siguientes entradas estarán dedicadas a montarlo mediante la distribución de Mirantis (Fuel) y si realmente hubiesen muchos interesados os explicaria a poder montarlo componente a componente.

Lo primero que vamos a necesitar es un servidor, bien sea fisico o virtualizado con Ubuntu 14.04.2 LTS, suelo usar siempre el servicio de Digital Ocean pero para Devstack nunca ha ido fino es por ello que voy a utilizar LVMCloud, que no es del todo barato ni potente pero clumple bien la función que necesitamos.

Doy por hecho que ya estais dentro de la maquina así que vamos a la faena:

Lo primero es repasar que el servidor este totalmente actualizado:

# apt-get update
# apt-get upgrade

Posteriormente crearemos un usuario (en nuestro caso se llamará sistemas) y nos preguntará el password:

# adduser sistemas (nos pide ponerle contraseña)

Le daremos a ese usuario permisos de root para los imprevistos que tengamos en la instalación (aunque tecnicamente este paso no sería necesario):

# echo "sistemas ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

Por ultimo instalaremos git:

# apt-get install git

Saldremos de la sesión como root y entraremos como sistemas.

Clonaremos el repositorio de Devstack:

$ git clone https://git.openstack.org/openstack-dev/devstack.git

Entraremos dentro de la carpeta de devstack

$ cd devstack

Crearemos un fichero nuevo llamado local.conf

$ vi local.conf

y pondremos los siguientes datos:

[[local|localrc]]

# Credentials

DATABASE_PASSWORD=ghwvXg

ADMIN_PASSWORD=ghwvXg

SERVICE_PASSWORD=ghwvXg

SERVICE_TOKEN=ghwvXg

RABBIT_PASSWORD=ghwvXg

# Services

disable_service n-net

ENABLED_SERVICES=rabbit,mysql,key

ENABLED_SERVICES+=,n-api,n-crt,n-obj,n-cpu,n-cond,n-sch,n-novnc,n-cauth

ENABLED_SERVICES+=,neutron,q-svc,q-agt,q-dhcp,q-l3,q-meta,q-lbaas,q-fwaas

ENABLED_SERVICES+=,s-proxy,s-object,s-container,s-account

ENABLED_SERVICES+=,g-api,g-reg

ENABLED_SERVICES+=,horizon

ENABLED_SERVICES+=,ceilometer-acompute,ceilometer-acentral,ceilometer-collector,ceilometer-api

ENABLED_SERVICES+=,ceilometer-alarm-notify,ceilometer-alarm-eval

ENABLED_SERVICES+=,heat,h-api,h-api-cfn,h-api-cw,h-eng

ENABLED_SERVICES+=,cinder,c-api,c-vol,c-sch,c-bak

ENABLED_SERVICES+=,q-vpn

# Swift Configuration

SWIFT_REPLICAS=1

SWIFT_HASH=66a3d6b56c1f479c8b4e70ab5c2000f5

# Enable Logging

LOGFILE=/opt/stack/logs/stack.sh.log

VERBOSE=True

LOG_COLOR=True

SCREEN_LOGDIR=/opt/stack/logs

Para ir terminando darémos totales permisos a ese fichero:

chmod 777 local.conf

y por ultimo ejecutaremos el instalador:

./stack.sh

Esperamos a que termine y ya tendremos listo en la ip del servidor configurado un OpenStack con todos los componentes necesarios para practicar!

Como he dicho anteriormente, si teneis algún tipo de duda o si eres una empresa y necesitas implantarlo a un nivel más profesional no dudes en consultarme en el siguiente mail: info@dmgweb.es

Saludos!

4 Comments

  1. Hola Daniel.

    He estado viendo esta entrada en tu blog y me ha gustado mucho, así como también algunas otras cosillas.

    Soy ingeniero de telecomunicaciones y he estado trabajando desde hace más 15 años en la informática, concretamente en la parte de sistemas, comencé por Solaris y he terminado en Linux.

    Actualmente estoy muy interesado en OpenStack como tecnología, como hobit, y si la vida me lo permite, también desde el punto de vista profesional. Hace ya más de tres semanas que estoy intentando sacar una instalación de OpenStack Kilo en mi PC de casa como laboratorio para comenzar a tomar experiencia, pero las cosas son muy delicadas y cualquier error en una letra me provoca errores difíciles de corregir.

    La cuestión es que quiero pedirte ayuda con este tema para ver de qué manera me puedes ayudar con la instalación a través de los paquetes de ubuntu, o sea, totalmente manual, aprovechando tu ofrecimiento y porque creo como tú que lo mejor es hacerlo uno mismo.

    Muchas gracias.

    Alex

  2. Buenas tardes, he podido instalar el entorno de pruebas con Devstack, pero me gustaría saber, ya instalado y corriendo, como puedo iniciar los servicios después de reiniciar la maquina virtual, ya que al hacerlo, los servicios de openstack queda apagados, y dentro de la carpeta /devstack no encuentro ninguno que diga /rejoin-stack.sh ó /reiniciar.sh.

Leave a Reply