Primeros Pasos con OpenStack-Ansible

Introducción 

Se parte desde la instalación multi-nodo vista en esta entrada anteriordonde se detallan paso a paso como lanzar una instancia y acceder a ella por ssh desde la máquina anfitriona.

Como usuario admin

Loguear como admin desde CLI

En el nodo de computación, en mi caso como vimos en la entrada de instalación de OSA, se llama computer.

Ejecutamos la siguiente instrucción:

Desde aquí lanzaremos las siguientes instrucciones.

Descargar imágenes para las instancias del cloud

OpenStack desde su página web, nos ofrecen varias imágenes de sistemas operativos listas para su uso en esta plataforma, para este ejemplo vamos a descargar por ejemplo CirrOS.

Si quisiéramos una imagen de un SO, que no estuviera en la lista de OpenStack, podemos preparar nosotros mismo una imagen para nuestro cloud, en este enlace os muestro el ejemplo para una imagen Windows Server 2016 Core.

Siguiendo con el proceso de subir una imagen a nuestro cloud, descargamos dicha imagen de ejemplo:

Ahora vamos a crear una imagen a partir del fichero qcow2 descargado, subiendolo al servicio glance:

Ahora si listamos las imágenes de nuestro cloud, debería aparecer la imagen anterior:

 

Crear un nuevo sabor

Otro detalle importante en un cloud, es la creación de un sabor, donde se define los recursos que va a utilizar la instancia, como el tamaño del disco, la memoria ram y el numero de cpus.

El siguiente ejemplo, crearía un sabor con un tamaño de disco de 10GiB, memoria ram de 256 MB y 1 CPU:

Nota: una buena práctica es asignarle un nombre identificativo al sabor. En esta entrada se le ha puesto vainilla de ejemplo.

Podemos crear tantos sabores como creamos convenientes:

 

Crear red externa, subred y rango de direcciones IP’s flotantes

Primero creamos una red que conecta al exterior de la siguiente manera:

Creamos la subnet de la red externa, donde se reparte el rango de direccionamiento externo:

Crear proyecto, nuevo usuario y asignación de rol

 

Como usuario “normal”

Tendremos que iniciar sesión en el panel web de horizon y descargar el siguiente fichero que nos proporciona OpenStack a dicho usuario:

 

Una vez descargado, creamos un entorno virtual de python, donde instalaremos el paquete python-openstackclient y utilizaremos el fichero descargado para autenticarnos en OpenStack:

Instalamos el paquete:

Y ahora ejecutamos la siguiente linea para autenticarnos contra OpenStack, esto nos solicitará la contraseña del usuario creado:

 

Con el nuevo usuario por OpenStack-CLI

Crear red y subred:

Crear router y enganchar ambas redes

Crear un volumen y asociarlo a la instancia desde CLI

Para asociar el volumen a la instancia, necesitamos saber ambos ID:

Asociar:

Si vemos los detalle de la instancia, veremos al final el id del volumen asociado:

 

Generar o importar par de claves

Ahora desde el panel web, en horizon, creamos un nuevo par de claves: Compute -> Par de claves -> Crear par de claves 

Si tenemos ya nuestro par de claves en nuestro equipo, podemos utilizarlas importandolas como es en mi caso:

Habilitar puerto ssh en el grupo de seguridad

Por defecto openstack nos crea un grupo de seguridad denominado default, necesitaremos habilitar el puerto 22 TCP para acceder posteriormente a la instancia por el servicio ssh.

Pasos desde Horizon para lanzar una Instancia

El pase de diapositivas requiere JavaScript.

Visualización de la topología de red y acceso por consola (SPICE) de la instancia

El pase de diapositivas requiere JavaScript.

 

Conectarse a la instancia desde la máquina anfitriona

El pase de diapositivas requiere JavaScript.

Troubleshooting

Error: certificate verify failed

Si nos aparecería el siguiente error al intentar ejecutar algún comando de openstack:

Solución:

Descargar el certificado de la autoridad autofirmado por la instalación de OpenStack-Ansible e integrarlo en el script de la siguiente forma:

Nos posicionamos en el nodo de infraestructura, si hemos seguido la instalación de esta entrada estará en el nodo llamado infra. Nos transferimos dicho certificado a nuestra máquina anfitriona:

Al ser un certificado autofirmado, también incluye la clave privada en ficho fichero, podríamos eliminar dicha sección de dentro del fichero “—–BEGIN PRIVATE KEY—–“

Renombramos el ca, para que tenga la extensión .crt y tenga un nombre más identificativo:

El siguiente paso es guardar el certificado en el directorio del sistema donde se encuentran los certificados de autoridad y acto seguido actualizamos los certificados del sistema, lo que creará un enlace simbólico de dicho certificado en el directorio /etc/ssl/certs con extensión .pem

Ejecutar la actualización:

Por último añadir la ruta hacia dicho certificado en el script del usuario que nos descargamos desde horizon:

Añadir:

Y si ahora probamos a listar las imágenes que existen en nuestro OpenStack desde linea de comandos del usuario charlie, no deberíamos de tener problemas:

 

Error: Instancia inaccesible

Acceder desde el nodo de infraestructura, al contenedor “infra1_neutron_agents_container-*”.

Modificar en el fichero de configuración /etc/neutron/plugins/ml2/linuxbridge_agent.ini:

Por:

Y reiniciar dicho contenedor.

Esto se debe, a que la interfaz de los contenedores que conecta al exterior es la eth1,si habéis realizado la instalación como yo, en el fichero de configuración /etc/openstack_deploy/openstack_user_config.yml,se indico esa interfaz en esta sección del fichero:

 

 

Autor entrada: CharlieJ

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *