Diferencia entre revisiones de «OpenStack»
Línea 5: | Línea 5: | ||
Es un [[software libre]] y de código abierto distribuido bajo los términos de la licencia Apache. El proyecto está gestionado por la Fundación OpenStack, una persona jurídica sin fines de lucro creada en septiembre de 2012 para promover el software OpenStack y su comunidad. | Es un [[software libre]] y de código abierto distribuido bajo los términos de la licencia Apache. El proyecto está gestionado por la Fundación OpenStack, una persona jurídica sin fines de lucro creada en septiembre de 2012 para promover el software OpenStack y su comunidad. | ||
− | ==Instalación rápida de DevStack, única máquina Debian 8. == | + | ==Instalación rápida de DevStack, única máquina Debian 8. (sin persistencia)== |
===Requisitos=== | ===Requisitos=== | ||
* Máquina para pruebas, con Debian 8 o Ubuntu 14 | * Máquina para pruebas, con Debian 8 o Ubuntu 14 | ||
Línea 12: | Línea 12: | ||
<ref>[http://docs.openstack.org/developer/devstack/guides/single-machine.html |Manual Oficial de Instalación de Openstack en una única máquina ] </ref>''' | <ref>[http://docs.openstack.org/developer/devstack/guides/single-machine.html |Manual Oficial de Instalación de Openstack en una única máquina ] </ref>''' | ||
Ante nada, este tutorial es para que probemos rápidamente OpenStack. ''' Pero no es recomendable usarlo en un entorno de trabajo.''' (en realidad, necesitamos siete máquinas fisicas o virtuales, con 12GB de Ram entre todas). Además, el uso de 'sudo' es una auténtica chapuza de seguridad. así que es mejor hacer este tutorial dentro de una máquina virtual con Debian. '''ES MUY RECOMENDABLE HACERLO EN UNA MÁQUINA VIRTUAL''' | Ante nada, este tutorial es para que probemos rápidamente OpenStack. ''' Pero no es recomendable usarlo en un entorno de trabajo.''' (en realidad, necesitamos siete máquinas fisicas o virtuales, con 12GB de Ram entre todas). Además, el uso de 'sudo' es una auténtica chapuza de seguridad. así que es mejor hacer este tutorial dentro de una máquina virtual con Debian. '''ES MUY RECOMENDABLE HACERLO EN UNA MÁQUINA VIRTUAL''' | ||
− | Además, la configuración se pierde si apagamos el servicio. | + | Además, '''la configuración se pierde si apagamos el servicio.''' |
===Creación de Usuario=== | ===Creación de Usuario=== | ||
Creamos un usuario llamado stack , y le ponemos una contraseña (que no sea 'stack' ni '1234' xD ) | Creamos un usuario llamado stack , y le ponemos una contraseña (que no sea 'stack' ni '1234' xD ) |
Revisión de 12:21 19 may 2016
Fuente: [1]
OpenStack es un proyecto de computación en la nube para proporcionar una IaaS
Es un software libre y de código abierto distribuido bajo los términos de la licencia Apache. El proyecto está gestionado por la Fundación OpenStack, una persona jurídica sin fines de lucro creada en septiembre de 2012 para promover el software OpenStack y su comunidad.
Contenido
Instalación rápida de DevStack, única máquina Debian 8. (sin persistencia)
Requisitos
- Máquina para pruebas, con Debian 8 o Ubuntu 14
- Conexión a internet
[2] Ante nada, este tutorial es para que probemos rápidamente OpenStack. Pero no es recomendable usarlo en un entorno de trabajo. (en realidad, necesitamos siete máquinas fisicas o virtuales, con 12GB de Ram entre todas). Además, el uso de 'sudo' es una auténtica chapuza de seguridad. así que es mejor hacer este tutorial dentro de una máquina virtual con Debian. ES MUY RECOMENDABLE HACERLO EN UNA MÁQUINA VIRTUAL Además, la configuración se pierde si apagamos el servicio.
Creación de Usuario
Creamos un usuario llamado stack , y le ponemos una contraseña (que no sea 'stack' ni '1234' xD )
sudo adduser stack
Lo añadimos a sudoers
echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
Descarga del Stack
Clonamos 'DevStack' (el 'Xampp' de Openstack, vaya) y nos metemos en la carpeta
git clone https://git.openstack.org/openstack-dev/devstack cd devstack
Configuración del Stack
DevStack incluye un ejemplo de fichero de configuración en devstack/samples.local.conf
- FLOATING RANGE es un rango de nuestra red local, que no estamos usando. Supondré que no tenemos nada por encima de 192.168.1.224
- FIXED_RANGE y FIXED_NETWORK_SIZE acotan las direcciones IP internan usadas por las instancias
- FLAT_INTERFACE es la interfaz de nuestra máquina que nos connecta a la red local
- ADMIN_PASSWD contiene la contraseña de admin de todo el tinglado
- DATABASE_PASSWORD contiene la contraseña del bloque de BBDD de Openstack (en nuestro caso, si tenemos MYSql previamente instalado, es necesario que proporcionemos la contraseña de 'root' de MYSql que habíamos puesto en la instalación)
- RABBIT_PASSWORD contiene la contraseña de RabbitMQ (mensajería)
- SERVICE_PASSWORD contiene la contraseña común de los servicios de Openstack (Nova, Glance,etc)
Creamos el fichero de configuración
touch local.conf
Lo editamos
nano local.conf
y metemos algo parecido a esto
[[local|localrc]] FLOATING_RANGE=192.168.1.224/27 FIXED_RANGE=10.11.12.0/24 FIXED_NETWORK_SIZE=256 FLAT_INTERFACE=eth0 ADMIN_PASSWORD=supersecret DATABASE_PASSWORD=iheartdatabases RABBIT_PASSWORD=flopsymopsy SERVICE_PASSWORD=iheartksl
Una vez guardado el fichero, asignamos al usuario stack los permisos de la carpeta
cd sudo chown -R stack devstack
Arrancamos el Stack por primera vez, para que se instale.. La instalación tarda media hora, segun nuestra conexión a internet. nos saldrá un mensaje del estilo
2016-05-18 13:20:17.700 | stack.sh completed in 913 seconds
Una vez terminada, Paramos el Stack
Para evitar largos chequeos cada vez que arrancamos , añadimos una línea al fichero de configuración
echo OFFLINE=True >> local.conf
Arranque del Stack
Si no queremos que dependa de una terminal, podemos usar la utilidad 'screen ' Nos logueamos desde terminal como usuario stack
sudo login
y entramos en la carpeta devstack y arrancamos devstack
cd /home/mi-usuario/devstack ./stack.sh
Cuando haya arrancado, (tarda unos dos minutos), nos saldrá la página de administración que se encuentra en 127.0.0.1
Eso sí, si reiniciamos nuestro ordenador, hay que arrancar DevStack otra vez.
Parada del Stack
Para parar DevStack, hacemos
./unstack.sh
Cerramos la terminal donde se ejecuta DevStack
Actualización de DevStack
Para actualizar DevStack, lo debemos para primero. Habilitamos Reclone
sed -i "s/OFFLINE=True/RECLONE=yes/g" local.conf
Arrancamos DevStack. y esperamos a que se instale
Lo paramos.
Deshabilitamos reclone y habilitamos offline
sed -i "s/RECLONE=yes/OFFLINE=True/g" local.conf
Creación de Infraestructura
A partir de aquí, es todo cuestión de imaginación. Como caso de ejemplo, contaré cómo se monta un router y un equipo cliente, sobre OpenStack. Entro en la carpeta de devstack y me logueo como usuario 'stack' (ver apartado anterior)
Crear un router
Para más facilidad, instanciaré una imagen prefabricada [3][4] de Openwrt (aunque también nos podemos cocinar una de pfSense, p.e.)
Descarga de la imagen de router
Creo una carpeta temporal para descargas y entro dentro
mkdir temporales cd temporales
Descargo la imagen (o la copio de otro sitio)
wget http://enlace-a-imagen/openwrt.img
Creo un fichero con los metadatos y datos de acceso a keystone [5]
nano config_openwrt
y le meto algo por el estilo
export OS_USERNAME=admin export OS_TENANT_NAME=admin export OS_PASSWORD=supersecret export OS_AUTH_URL=http://127.0.0.1:35357/v2.0/
Importación de imagen de router
Leo el fichero de metadatos previamente generado
source config_openwrt
E importamos la imagen
glance image-create --name='mi_primer_router' --visibility public --progress --container-format=bare --disk-format=qcow2 < openwrt.img
Una vez terminada la importación, nos aparecerá como imagen disponible
Importo la imagen recién descargada [6]
Lanzamiento de imagen de router
En la página de administración , pinchamos en 'Compute' -> 'Imágenes' Aparece nuestra imagen de openwrt, a la que le damos 'Lanzar'
Vamos rellenando datos
Aquí, escogemos m1.tiny como plantilla
Y en 'Par de Claves', generamos un fichero .pem, para poder conectarnos por SSH a la instancia del router
Le damos un nombre a la clave, y se nos ofrece descargar un fichero .pem, que usaremos más adelante