OpenStack 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!
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
Buenas ya instale openstack kilo en un servidor como hago para ir creciendo y agregar nuevos servidores.? si me puedes ayudar gracias.
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.
Buenas, únicamente vuelve a ejecutar el stack.sh
Un saludo.